一、找到JDK位置
- 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本
- 默认位置:C:\Users\66176.jdks\corretto-1.8.0_342
- 可通过自己的AS设置查看具体位置
二、使用方法
2.1 打开windows命令行工具
- win + r 运行, 输入cmd
2.2 查看签名
- 1.先切换到keytool的工具目录下,方便使用
- 2.输入命令:keytool.exe -list -printcert -jarfile
- 3.将apk工具,直接拖到命令行窗口内,会自动补齐APK路径信息
Microsoft Windows [版本 10.0.22000.856]
(c) Microsoft Corporation。保留所有权利。
C:\Users\66176\.jdks\corretto-1.8.0_342\bin>keytool.exe -list -printcert -jarfile C:\Users\66176\Downloads\20220829\test-signed.apk
签名者
签名:
所有者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
发布者: CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW
序列号: e5c91345970d1155
有效期为 Mon Dec 10 20:22:55 CST 2012 至 Fri Apr 27 20:22:55 CST 2040
证书指纹:
MD5: 91:00:3C:AF:A9:13:2E:71:92:4C:2C:DA:B3:9D:AF:F9:2F:9F:0E:54
SHA1: FE:96:88:12:8F:8D:1E:15:71:D9:F3:67:AC:3D:71:67:80:8F:23:22:2D:03:35:F3:77:1E:A2:85:17:70:AB:DD
SHA256: SHA1withRSA (弱)
签名算法名称: 2048 位 RSA 密钥
主体公共密钥算法: 3
版本: {10}
扩展:
AuthorityKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C D3 41 1A 4B 23 09 82 70 ....'....A.K#..p
0010: CB 35 8D 61 .5.a
]
[CN=MediaTek Android TV, OU=Home Entertainment BU, O=MediaTek Inc., L=TW, ST=TW, C=TW]
SerialNumber: [ e5c91345 970d1155]
]
#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:true
PathLen:2147483647
]
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: B6 F6 DB FC 27 84 8F 0C D3 41 1A 4B 23 09 82 70 ....'....A.K
0010: CB 35 8D 61 .5.a
]
]
Warning:
证书 uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.
C:\Users\66176\.jdks\corretto-1.8.0_342\bin>
三、如何给APK做系统签名呢?
- 执行如下命令即可
- 不同版本的AOSP代码,signapk.jar的路径会有变化,如找不到的话,用find . -name signapk.jar 命令查找一下
$cd vendor/mediatek/proprietary_tv/open/common/security
$java -jar -Djava.library.path="/home/builder/code/out/host/linux-x86/lib64/" /home/builder/code/out/host/linux-x86/framework/signapk.jar platform.x509.pem platform.pk8 tv.apk signed-tv.apk