从 ionic 生成非调试 apk
Posted
技术标签:
【中文标题】从 ionic 生成非调试 apk【英文标题】:Generate non-debug apk from ionic 【发布时间】:2016-03-11 01:04:42 【问题描述】:我正在使用 ionic 框架为 android 平台生成 apk。
运行ionic build android
后,会生成一个android-debug.apk。如何生成更小更快的非调试 apk?
【问题讨论】:
使用 --release 标志。科尔多瓦构建 --release android。 ionicframework.com/docs/guide/publishing.html 【参考方案1】:这是我的 android 发布 shell 脚本
如果
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"
【讨论】:
【参考方案2】:在 cordova 6.2.0 中,您可以使用以下命令发布 apk。由于 ionic 是科尔多瓦的包装,这应该可以工作。
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
【讨论】:
【参考方案3】:由于 ionic CLI 基于cordova CLI,您可以直接使用:
ionic build android --release
另外,如果您担心优化,您可能会发现有趣的用法 zipalign,以便在 4 字节边界上对齐数据,从而使应用程序减少使用的 RAM 量。使用前面的命令构建发布 apk 后,您可以运行:
zipalign -v 4 yourReleaseApp.apk zipalignedReleaseApp.apk
【讨论】:
【参考方案4】:基本上,正如 Jan 所说,您应该使用命令:cordova build android --release
。您可以查看 Ionic 关于how to publish your app 的官方指南。
【讨论】:
【参考方案5】:1.要发布Android版本,我们可以使用以下cordova cli命令
ionic cordova build --release android
2. 构建 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
【讨论】:
以上是关于从 ionic 生成非调试 apk的主要内容,如果未能解决你的问题,请参考以下文章
Ionic cordova build android –prod –release 只构建一个调试apk (app-debug.apk)
Xamarin Studio 是不是应该在为调试目标编译时生成 APK?
Meteor build 只为带有 Crosswalk 的项目生成调试 apk(不发布)