从 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(不发布)

配置文件或调试 APK:生成签名的 Bundle 需要您将 Android Gradle 插件更新到版本 3.2.0

简述-gdb检测apk是不是可以被调试

使用Android Studio调试系统应用之TvSettings:再次编译,生成APK文件