使用ADB命令操作Android的apk/aab包

keystore文件轉換jks文件

?操作步驟:

步驟1,生成P12文件:
keytool -importkeystore -srckeystore [文件名].keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore [文件名].p12

步驟2,生成jks文件:
keytool -v -importkeystore -srckeystore [文件名].p12 -srcstoretype PKCS12 -destkeystore [文件名].jks -deststoretype JKS

示例演示:?

步驟1:
keytool -importkeystore -srckeystore /Users/zcs/Desktop/AAB/AnimalCrusher.keystore -srcstoretype JKS -deststoretype PKCS12 -destkeystore /Users/zcs/Desktop/AAB/AnimalCrusher.p12


步驟2:
keytool -v -importkeystore -srckeystore /Users/zcs/Desktop/AAB/AnimalCrusher.p12 -srcstoretype PKCS12 -destkeystore /Users/zcs/Desktop/AAB/AnimalCrusher.jks -deststoretype JKS

查看apk的簽名信息

操作:

keytool -printcert -jarfile [文件名].apk

示例:

keytool -printcert -jarfile /Users/zcs/Desktop/Test/Build/Test.apk

查看aab的簽名信息

操作步驟:

步驟1:

解壓待查看的apk,得到META-INF/CERT.RSA文件

步驟2:

keytool -printcert -file META-INF/CERT.RSA

示例演示:

?keytool -printcert -file /Users/zcs/Desktop/AAB/AnimalCrusher/META-INF/ANDROID.RSA


查看jks、keystore的證書指紋

操作:

keytool -list -v -keystore [文件名].jks
keytool -list -v -keystore [文件名].keystore

示例:

keytool -list -v -keystore upload_jks.jks
keytool -list -v -keystore upload_keystore.keystore

安裝aab包到真機

操作步驟:

步驟1,將aab文件轉換為apks文件:
java -jar <bundletool.jar的路徑> build-apks --bundle=<.aab文件的路徑> --output=<輸出.apks的路徑> --ks=<打包使用的證書文件的路徑> --ks-pass=pass:<證書密碼> --ks-key-alias=<證書別名> --key-pass=pass:<證書別名密碼,通常與證書密碼一致>
?
步驟2,安裝apks文件到手機:?
java -jar <bundletool.jar的路徑> install-apks --apks=<上一步中生成的.apks文件路徑>

示例演示:

步驟1:
java -jar /Users/zcs/Desktop/AAB/bundletool-all-1.9.1.jar build-apks \
--bundle=/Users/zcs/Desktop/AAB/AnimalCrusher.aab \
--output=/Users/zcs/Desktop/AAB/AnimalCrusher.apks \
--ks=/Users/zcs/Desktop/AAB/AnimalCrusher.jks \
--ks-pass=pass:AnimalCrusher \
--ks-key-alias=android \
--key-pass=pass:AnimalCrusher

步驟2:
java -jar /Users/zcs/Desktop/AAB/bundletool-all-1.9.1.jar install-apks --apks=/Users/zcs/Desktop/AAB/AnimalCrusher.apks

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80735.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80735.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖文展示HDFS、YARN、MapReduce三者關系

MapReduce架構概述 MapReduce將計算過程分為兩個階段&#xff1a;Map和Reduce &#xff08;1&#xff09;Map階段并行處理輸入數據 &#xff08;2&#xff09;Reduce階段對Map結果進行匯總 HDFS、YARN、MapReduce三者關系

DL00219-基于深度學習的水稻病害檢測系統含源碼

&#x1f33e; 基于深度學習的水稻病害檢測系統 — 智能農業的未來&#xff0c;守護農田的每一寸土地&#xff01; &#x1f69c; 完整系統獲取見文末 水稻病害檢測&#xff0c;一直是農業領域的一大難題。傳統的人工檢測不僅耗時耗力&#xff0c;還容易因經驗不足導致漏檢或誤…

github 上的 CI/CD 的嘗試

效果 步驟 新建倉庫設置倉庫的 page 新建一個 vite 的項目&#xff0c;改一下 vite.config.js 中的 base 工作流 在項目的根目錄下新建一個 .github/workflows/ci.yml 文件&#xff0c;然后編輯一下內容 name: Build & Deploy Vue 3 Appon:push:branches: [main]permi…

鴻蒙5.0項目開發——鴻蒙天氣項目的實現(介紹)

【高心星出品】 文章目錄 項目簡介&#xff1a;項目運行效果圖&#xff1a;主要功能&#xff1a;使用的技能點&#xff1a;開發環境&#xff1a; 項目簡介&#xff1a; 這是一個基于鴻蒙系統&#xff08;HarmonyOS&#xff09;開發的天氣應用&#xff0c;采用 ArkTS 語言開發&…

SpringCloud之Eureka基礎認識-服務注冊中心

0、認識Eureka Eureka 是 Netflix 開源的服務發現組件&#xff0c;后來被集成到 Spring Cloud 生態中&#xff0c;成為 Spring Cloud Netflix 的核心模塊之一。它主要用于解決分布式系統中??服務注冊與發現??的問題。 Eureka Server 有必要的話&#xff0c;也可以做成集群…

【氮化鎵】電子輻照下溫度對GaN位移閾能的影響

2024年,華東師范大學的彭勝國等人基于從頭算分子動力學(AIMD)方法,研究了低能電子束輻照下溫度對氮化鎵(GaN)位移閾能(TDE)的影響。實驗結果表明,在初始動能40至80 eV的范圍內,鎵(Ga)和氮(N)原子作為初級擊出原子(PKAs)引發的位移對溫度呈現不同的敏感性:Ga 的…

Java 中的數據類型誤導點!!!

在 Java 中&#xff0c;數據類型分為兩大類&#xff1a;基本類型&#xff08;Primitive Types&#xff09; 和 引用類型&#xff08;Reference Types&#xff09;。它們的存儲方式和行為完全不同。 1. 基本類型 Java 有 8 種基本數據類型&#xff0c;它們直接存儲值&#xff…

二次封裝 el-dialog 組件:打造更靈活的對話框解決方案

文章目錄 引言為什么需要二次封裝&#xff1f;封裝思路代碼實現1. 基礎封裝組件 (Dialog.vue)2. Vue中引入使用示例 封裝后的優勢進階優化建議 總結 引言 在 Vue 項目中&#xff0c;Element UI 的 el-dialog 是一個非常實用的對話框組件。但在實際開發中&#xff0c;我們經常會…

框架篇八股(自用)

框架篇 Spring框架中的bean不是線程安全的 Scope&#xff08;&#xff09; singleton單例 prototype多例 一個類中有可修改的成員變量需要考慮線程安全 bean沒有可變狀態&#xff08;service類&#xff0c;DAO類&#xff09; 某種程度單例bean是線程安全的 AOP面向切面編程…

Go語言安裝proto并且使用gRPC服務(2025最新WINDOWS系統)

1.protobuf簡介 protobuf 即 Protocol Buffers&#xff0c;是一種輕便高效的結構化數據存儲格式&#xff0c;與語言、平臺無關&#xff0c;可擴展可序列化。protobuf 性能和效率大幅度優于 JSON、XML 等其他的結構化數據格式。protobuf 是以二進制方式存儲的&#xff0c;占用空…

rust-candle學習筆記11-實現一個簡單的自注意力

參考&#xff1a;about-pytorch 定義ScaledDotProductAttention結構體&#xff1a; use candle_core::{Result, Device, Tensor}; use candle_nn::{Linear, Module, linear_no_bias, VarMap, VarBuilder, ops};struct ScaledDotProductAttention {wq: Linear,wk: Linear,wv: …

spark MySQL數據庫配置

Spark 連接 MySQL 數據庫的配置 要讓 Spark 與 MySQL 數據庫實現連接&#xff0c;需要進行以下配置步驟。下面為你提供詳細的操作指南和示例代碼&#xff1a; 1. 添加 MySQL JDBC 驅動依賴 你得把 MySQL 的 JDBC 驅動添加到 Spark 的類路徑中。可以通過以下兩種方式來完成&a…

web 自動化之 KDT 關鍵字驅動詳解

一、什么是關鍵字驅動&#xff1f; 1、什么是關鍵字驅動&#xff1f;&#xff08;以關鍵字函數驅動測試&#xff09; 關鍵字驅動又叫動作字驅動&#xff0c;把項目業務封裝成關鍵字函數&#xff0c;再基于關鍵字函數實現自動化測試 2、關鍵字驅動測試原理 關鍵字驅動測試是一…

Java使用POI+反射靈活的控制字段導出Excel

前端傳入哪些字段&#xff0c;后端就導出哪些到Excel表格中&#xff0c;具體代碼實現如下 controller /*** 用戶導出* param dto*/PostMapping("/exportUser")public void exportCharterOrder(RequestBody UserExportDTO dto){userService.exportUser(dto);} serv…

Qt/C++面試【速通筆記八】—Qt的事件處理機制

在Qt中&#xff0c;事件處理機制是應用程序與用戶或系統交互的核心。通過事件處理&#xff0c;Qt能夠響應用戶的輸入、窗口的變化、定時器的觸發等各種情況。 1. 事件循環&#xff08;Event Loop&#xff09; 在Qt應用程序中&#xff0c;事件循環是事件處理機制的基礎。事件循…

TTL (Time-To-Live) 解析

文章目錄 TTL (Time-To-Live) 解析&#xff1a;網絡與Java中的應用一、TTL的定義二、TTL在網絡中的應用1. **路由和數據包的生命周期**2. **DNS中的TTL**3. **防止環路** 三、TTL在Java中的應用1. **緩存管理**2. **Java中的ThreadLocal**3. **網絡通信中的TTL** 四、TTL的注意…

HDFS的客戶端操作(2)文件上傳

我們向/maven下上傳一個文件。 要用到的api是put (或者copyFormLocalFile&#xff09;。核心代碼如下。 public void testCopyFromLocalFile() throws IOException, InterruptedException, URISyntaxException {// 1 獲取文件系統Configuration configuration new Configurati…

光譜相機的光電信號轉換

光譜相機的光電信號轉換是將分光后的光學信息轉化為可處理的數字信號的核心環節&#xff0c;具體分為以下關鍵步驟&#xff1a; 一、分光后光信號接收與光電轉換 ?分光元件作用? 光柵/棱鏡/濾光片等分光元件將入射光分解為不同波長單色光&#xff0c;投射至探測器陣列表面…

網絡協議分析 實驗二 IP分片與IPv6

文章目錄 索引及重要內容實驗2 IP 高級實驗實驗2.1 IPv4協議分片實驗實驗2.2 IPV6協議實驗2.3 ARP初級 索引及重要內容 實驗2 IP 高級實驗 實驗2.1 IPv4協議分片實驗 icmp的不可達報文 實驗2.2 IPV6協議 實驗2.3 ARP初級 arp –a 查看ARP緩存表內容 arp –s IP地址(格式&…

20、map和set、unordered_map、un_ordered_set的復現

一、map 1、了解 map的使用和常考面試題等等&#xff0c;看這篇文章 map的key是有序的 &#xff0c;值不可重復 。插入使用 insert的效率更高&#xff0c;而在"更新map的鍵值對時&#xff0c;使用 [ ]運算符效率更高 。" 注意 map 的lower和upper那2個函數&#x…