解压命令相关:
unzip app-debug.apk -d as(app-debug.apk待解压的文件 as解压到的文件夹)
zip -du app-debug.apk lib/armeabi/libsmsprotocol.so (-d从压缩文件内删除指定的文件;-u更换较新的文件到压缩文件内)
android签名相关:
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore /Users/yuiaragaki/Documents/Demo/frameworks/runtime-src/proj.android/test.keystore -storepass 222222 -sigfile CERT app-debug.apk demo
[-verbose[:suboptions]] 签名/验证时输出详细信息。
子选项可以是 all, grouped 或 summary
子选项可以是 all, grouped 或 summary
[-digestalg <算法>] 摘要算法的名称
[-sigalg <算法>] 签名算法的名称
[-keystore <url>] 密钥库位置
[-storepass <口令>] 用于密钥库完整性的口令
[-sigfile <文件>] .SF/.DSA
文件的名称
zipalign
-f -v 4 app-debug.apk test.apk 执行align优化(test.apk优化之后新的apk的名字)
查找错误的一个方法:
如果遇到自己倒入sdk代码打包出来的apk无法运行,而sdk的demo apk可以运行的这种情况,可以解压两个apk查看有什么不同的地方,同时可以使用zip -du的方法替换无法运行的apk的不同之处,替换完之后,使用jarsigner命令重新签名打包,在用zipalign优化下apk,看新的apk是否可以运行
keytool 密钥和证书管理工具
localhost:.android yuiaragaki$ keytool -list -keystore debug.keystore -storepass android
查看密钥库中的条目(debug.keystore是安卓提供的默认签名,密码是android)
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
androiddebugkey, 2016-8-30, PrivateKeyEntry,
证书指纹 (SHA1): 19:10:07:6D:91:9A:B6:10:07:F5:D5:49:10:BA:7F:32:C3:38:8D:B6
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
androiddebugkey, 2016-8-30, PrivateKeyEntry,
证书指纹 (SHA1): 19:10:07:6D:91:9A:B6:10:07:F5:D5:49:10:BA:7F:32:C3:38:8D:B6