我只有apk文件(不是源代码)如何签名和拉链对齐?

时间:2014-12-25 06:50:28

标签: android apk

我没有源代码只有.apk文件,我想签名和zip-align它上传到Play商店。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

来自official guide

手动签署您的应用

您不需要Android Studio来为您的应用签名。您可以使用Android SDK和JDK中的标准工具从命令行对您的应用进行签名。要从命令行以发布模式签署应用程序:

  1. 使用keytool生成私钥。例如:
  2.   

    $ keytool -genkey -v -keystore my-release-key.keystore -alias   alias_name -keyalg RSA -keysize 2048 -validity 10000

    此示例提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段。然后,它将密钥库生成为名为my-release-key.keystore的文件。密钥库包含一个密钥,有效期为10000天。别名是您稍后在签署应用时使用的名称。

    1. 在发布模式下编译您的应用以获取未签名的APK。

    2. 使用jarsigner用您的私钥签名您的应用:

    3.   

      $ 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

      1. 使用zipalign对齐最终的APK包。
      2.   

        $ zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

        zipalign确保所有未压缩数据以相对于文件开头的特定字节对齐方式开始,这样可以减少应用程序消耗的RAM量。