Cordova:安卓和iOS平台有没有可能使用不同的应用ID?

8xiog9wr  于 2023-01-02  发布在  iOS
关注(0)|答案(2)|浏览(129)

假设我有一个Cordova应用程序,其ID为com.StackOverflowExample.MyQuestion,我使用CLI在Cordova 3中创建了这个应用程序(cordova create).我已经为我的应用添加了iOS和Android平台,并且已经将应用提交给了苹果和Google Play,然而现在,在将我的应用提交给Play之后,我似乎放错了我用来签署我的APK文件的密钥库的密码。我已经尝试了一切,并没有办法我会恢复它。
由于Google Play不允许我在提交给Play的后续APK中使用与之前使用不同密钥库签名的APK相同的应用ID进行签名,因此我知道我需要创建一个新的应用ID,然后在Android中重新开始。我意识到这将要求我的用户下载一个新的应用,但此时我别无选择。
我想避免的是,这个问题蔓延到苹果,在那里我已经创建了我所有的证书,配置文件,密钥,签名请求等,并上传了一个IPA,其捆绑包标识符与我提交给Google Play的第一个APK的应用ID相同。
默认情况下,在使用CLI时,Cordova会添加您使用单个应用程序ID指定的任何平台,该ID在您运行cordova create时提供。

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

f3temu5u

f3temu5u1#

现在已内置到CLI中(最后):
在你的config.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

vpfxa7rd

vpfxa7rd2#

是的,你可以这样做。有更多的选择,这取决于你如何构建你的Android应用程序(你如何创建你的APK)。
如果你使用cordova创建APK,首先你必须解码你的APK:

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

更改AndroidManifest.xml中的package=“com.StackOverflowExample.MyQuestion”字符串。
编码您的APK:

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

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

相关问题