【问题标题】:How can I publish to play store the x86 and ARM apks of my cordova-crosswalk app?如何发布以播放存储我的 cordova-crosswalk 应用程序的 x86 和 ARM apk?
【发布时间】:2015-02-24 21:41:40
【问题描述】:
【问题讨论】:
标签:
android
cordova
app-store
crosswalk-runtime
【解决方案1】:
绝对有可能。
此功能的名称为:Multiple APK
您不需要使用“Application.mk”
过程很简单:
- 在开发者控制台中,切换到 高级模式(点击 APK 选项卡右上角的 切换到高级模式 按钮 - 请注意,您必须至少已上传一个 APK 用于显示该按钮)
- 上传两个APK
- 发布!
使用多个APK有一些规则,但如果你使用cordova crosswalk生成的文件,你就不用担心了。
您用版本代码描述的问题是因为每个应用程序必须有不同的版本代码。就我而言,我使用离子框架(扩展了cordova)并且在构建过程中,它为每个apk生成了不同的版本代码,所以我没有问题。如果您没有发生这种情况,您可以尝试直接在 AndroidManifest.xml 文件上更改 de android:versionCode。
这是我的清单的样子:
<manifest
android:hardwareAccelerated="true"
android:versionCode="102"
android:versionName="0.1.2"
package="br.org.yyyyyyy.xxxxxxxxxx"
xmlns:android="http://schemas.android.com/apk/res/android">
在我的例子中,arm7 apk,
android:versionCode="102"
在 x86 apk 中
android:versionCode="104"
参考资料:
Android Multiple APKs DOC
Maintaining Multiple APKs DOC
【解决方案2】:
我正在做简单的方法。例如,您的主要 v 代码是 102,因此您使用 102 v 代码构建第一个 arm,然后上传。在上传运行之前,您可以将清单和构建等级中的 v 代码更改为 103 并构建另一个 x86。简单易行。
【解决方案3】:
我认为过去一年情况发生了变化。我使用相同的版本代码并上传了两个 apk(一次一个 - 以正常方式)。 Google Play 自动检测到它们针对不同的原生平台,并允许两者都投入生产。
【解决方案4】:
cordova-crosswalk doc 指示如何制作适用于 arm 和 x86 的 apk。问题是它会生成一个巨大的 apk。
如果你真的想做两个apk,你可以尝试(抱歉还没有测试)在文件夹platforms/android/jni中创建Application.mk文件
对于 arm,您可以将此行放在 Application.mk 中:
APP_ABI := armeabi armeabi-v7a
对于英特尔 x86:
APP_ABI := x86
您必须更改 AndroidManifest.xml 以针对每个平台使用不同的版本(按照您提供的链接中的说明进行操作)。
小心,如果你再次运行cordova build android,它可能会替换所有platforms/android的内容,你的修改会丢失。
要构建项目使用
platforms\android\cordova\build.bat -release
而不是
cordova build android --release