我没有源代码只有.apk文件,我想签名和zip-align它上传到Play商店。 我怎么能这样做?
答案 0 :(得分:2)
手动签署您的应用
您不需要Android Studio来为您的应用签名。您可以使用Android SDK和JDK中的标准工具从命令行对您的应用进行签名。要从命令行以发布模式签署应用程序:
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
此示例提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段。然后,它将密钥库生成为名为my-release-key.keystore的文件。密钥库包含一个密钥,有效期为10000天。别名是您稍后在签署应用时使用的名称。
在发布模式下编译您的应用以获取未签名的APK。
使用jarsigner用您的私钥签名您的应用:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
此示例提示您输入密钥库和密钥的密码。然后它就地修改APK以对其进行签名。请注意,您可以使用不同的密钥多次签署APK。 4.确认您的APK已签名。例如:
$ jarsigner -verify -verbose -certs my_application.apk
$ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
zipalign确保所有未压缩数据以相对于文件开头的特定字节对齐方式开始,这样可以减少应用程序消耗的RAM量。