眾所周知,Android Studio可以輕松創(chuàng)建簽名的APK。 但是有時我們必須使用命令對Android進行簽名。 例如,最近我在上架時遇到了這種情況。
在360開放平臺給app上架,360開放平臺會先給應用加固,然后下載已加固的apk后,要求再次簽名。這時候就不能直接用Android Studio簽名,而是用命令簽名。
簽名有兩種方式,比如用jarsigner或者apksigner的方式。
jarsigner方式只支持v1簽名,apksigner方式支持v1和v2的方式。
v1和v2的區(qū)別,可以參考 https://blog.csdn.net/qq_32115439/article/details/55520012。
方式一:
jarsigner -keystore 密鑰庫名 xxx.apk 密鑰別名
方式二:
apksigner sign --ks 密鑰庫名 --ks-key-alias 密鑰別名 xxx.apk
上述命令,簽名后沒有改變文件名稱。如何判斷是否簽名成功?可以采用如下命令。
打印簽名信息命令:
keytool -list -printcert -jarfile appname.apk
通過上述命令,可以打印出簽名的所有者信息,發(fā)布者,序列號,有效期等信息。
通過以上信息,即可判斷出是否簽名成功。