Cordova:安卓和iOS平台是否可以有不同的应用程序ID



假设我有一个 id 为 com 的 Cordova 应用程序。StackOverflowExample.MyQuestion,我使用 CLI (cordova create(在 Cordova 3 中创建的。我已经为我的应用程序添加了iOS和Android平台,并将该应用程序提交给了Apple和Google Play。但是,现在,在将我的应用程序提交到 Play 后,我似乎放错了用于签署 APK 文件的密钥库的密码。我已经尝试了一切,但我无法恢复它。

由于 Google Play 不允许我使用与之前由不同密钥库签名的 APK 相同的应用 ID 对提交到 Play 的后续 APK 进行签名,因此我知道我需要创建一个新的应用 ID 并在 Android 中重新开始。我意识到这将要求我的用户下载一个新的应用程序,但此时我别无选择。

我想避免的是,将此问题蔓延到Apple,我已经创建了所有证书,配置文件,密钥,签名请求等,并上传了一个IPA,其捆绑标识符与我提交给Google Play的第一个APK的应用程序ID相同。

默认情况下,使用 CLI 时,Cordova 会使用单个应用程序 ID 添加您指定的任何平台,您在运行 cordova create 时提供该 ID 。

我想知道的是:在运行cordova platform add时,是否可以在自定义应用程序 ID 下添加新平台,从而让不同的平台在同一 Cordova 应用程序中具有不同的应用程序 ID?

这现在已经内置到 CLI 中(最后(:

在你的配置中.xml文件-

例:

<widget
    android-packageName="com.example.android"
    ios-CFBundleIdentifier="com.example.ios">

源:

https://github.com/apache/cordova-common/blob/master/src/ConfigParser/ConfigParser.js#L105-L113

是的,你可以这样做。他们有更多的选择,这取决于你如何构建你的Android应用程序(你如何创建你的apk(。

如果您使用cordova创建apk,首先您必须解码apk:

apktool d <apkname>.apk <directory to decode>
e.g: 
apktool d your.apk decodedir

更改包="com。StackOverflowExample.MyQuestion"字符串在AndroidManifest.xml。

对你的 apk 进行编码:

apktool b <directory> <new apk name>
e.g:
apktool b testdir/ your.repacked.apk

如果您使用任何 Android 开发者工具创建 apk,则可以在相应的 xml 文件 (AndroidManifest.xml( 中更改 id,然后构建应用。

相关内容

最新更新