我正在使用离子框架为Android平台生成apk。
运行ionic build android
后,会生成android-debug.apk。如何生成更小更快的非调试apk?
答案 0 :(得分:11)
这是我的android发布shell脚本
IFY
clear
gulp
ionic build --release android
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "path/to/your/keystore" "platforms/android/build/outputs/apk/android-release-unsigned.apk" "keystore alias" -storepass xxx -keypass xxx
/path/to/android-sdk/build-tools/23.0.2/zipalign -v 4 "platforms/android/build/outputs/apk/android-release-unsigned.apk" "android-release.apk"
rm "platforms/android/build/outputs/apk/android-release-unsigned.apk"
答案 1 :(得分:6)
在cordova 6.2.0 中,您可以使用以下命令发布apk。由于离子是cordova的包装物,所以这应该有效。
cd cordova/ #change to root cordova or ionic folder
platforms/android/cordova/clean #clean if you want
cordova build android --release -- --keystore="/path/to/keystore" --storePassword=password --alias=alias_name #password will be prompted if you have any
答案 2 :(得分:2)
基本上,正如Jan评论的那样,您应该使用命令:cordova build android --release
。您可以查看Ionic关于how to publish your app的官方指南。
答案 3 :(得分:2)
由于离子CLI基于cordova CLI,您可以直接使用:
ionic build android --release
此外,如果您担心优化,您可能会发现有趣的usign zipalign ,以便在4字节边界上对齐数据,从而导致应用程序减少使用的RAM量。使用上一个命令构建版本apk后,您可以运行:
zipalign -v 4 yourReleaseApp.apk zipalignedReleaseApp.apk
答案 4 :(得分:1)
1。要发布适用于Android的版本,我们可以使用以下cordova cli命令
离子cordova构建 - 释放android
2. Build apk未签名。需要签名。这就是使用JDK的keytool创建私钥的原因。我们可以使用以下cli命令
keytool -genkey -v -keystore mykey.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
将mykey.keystore文件保存在安全的地方以备将来使用。 如果keytool不起作用,则复制该文件的路径并将其设置在系统环境变量中。
3. 现在使用以下命令
对未签名的apk进行签名jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykey.keystore projectpath \ platforms \ android \ build \ outputs \ apk \ android-release-unsigned.apk alias_name
4. 最后优化apk文件。
zipalign -v 4 projectpath \ platforms \ android \ build \ outputs \ apk \ android-release-unsigned.apk projectpath \ platforms \ android \ build \ outputs \ apk \ android-release.apk
有关详细信息,请访问以下网址 Build Release APK of Android Application from ionic