假设我有一个 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,然后构建应用。