如何为ionic 3签名的APK生成android应用包

时间:2019-07-09 05:41:32

标签: android-studio ionic3

我已经使用以下命令生成了apk:

ionic cordova build android --prod --release

之后,我使用以下命令生成了Play商店的密钥:

keytool -genkey -v -keystore myapp-release-key.keystore -alias com.exel.myapp -keyalg RSA -keysize 2048 -validity 10000

后来我使用jarsigner使用以下命令进行了签名:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myapp-release-key.keystore platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk com.exel.myapp

最后我正在使用zipalign使用命令:

C:\Users\Exel\AppData\Local\Android\sdk\build-tools\29.0.0\zipalign -v 4 platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk myapp-release-signed.apk

当我将应用程序上载到Play商店时,它会发出警告,例如未优化的代码“请使用Android应用程序包进行捆绑”。

因此,我需要针对此问题的建议和解决方案。如果能在您的帮助下解决此问题,我将非常感谢这个论坛。

当我尝试使用android studio 3.4.1制作android apk捆绑包时,它给我一个警告,例如“ Android Gradle插件版本应高于3.2或更高”。当我单击“更新”按钮时,该按钮将被关闭并每次都连续显示相同的消息。

“ Android Gradle插件版本应高于3.2或更高”。

2 个答案:

答案 0 :(得分:0)

您缺少一步,请尝试此。我正在使用以下命令来构建发布应用:

ionic cordova build android --prod --release

keytool -genkey -v -keystore myapp-release-key.keystore -alias com.exel.myapp -keyalg RSA -keysize 2048 -validity 10000

keytool -exportcert -list -v -alias com.exel.myapp -keystore myapp-release-key.keystore

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myapp-release-key.keystore C:\ionic\myapp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk com.exel.myapp

jarsigner -verify -verbose -certs C:\ionic\myapp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk

zipalign -v 4 C:\ionic\myapp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk myapp-release-signed.apk

apksigner verify exercisetips.apk

在上面的命令中,您没有使用此命令:

jarsigner -verify -verbose -certs C:\ionic\myapp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk

让我知道它是否对您有用。希望对您有帮助:)

答案 1 :(得分:0)

最直接的方法始终是命令行脚本... 这是准备部署以生产优化捆绑包的步骤顺序。

  1. 创建包
    ionic cordova build android --prod --release
  2. 构建应用程序捆绑包(优化)关键步骤
    cd [YOUR_PROJECT_FOLDER_PATH]\platforms\android
    gradlew.bat bundle
  3. 签署应用捆绑包
    cd [YOUR_PROJECT_FOLDER_PATH]\platforms\android\app\build\outputs\bundle\release
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "[YOUR_certificate-keys.jks_FILE_PATH]" app-release.aab [YOUR_NAME] -storepass [YOUR_CERTIFICATE_PASSWORD]
  4. 只需上传您的边界(* .aab) YOUR_PROJECT_FOLDER_PATH\platforms\android\app\build\outputs\bundle\release\app-release.aab