更改 Cordova 项目 android 包名称

Posted

技术标签:

【中文标题】更改 Cordova 项目 android 包名称【英文标题】:Change Cordova project android package name 【发布时间】:2018-06-10 07:07:35 【问题描述】:

你们中有人知道如何更改使用cordova 构建的android 项目的包名吗?

我尝试通过以下方式更改 android 项目名称:

    通过执行cordova platform remove android从项目中移除android平台

    我更改了 config.xml 中的<widget id>

来自

<widget id="com.oldName.oldName" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

<widget id="com.newName.newName" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    通过cordova platform add android重新安装android平台

 

问题是我做了之后,在执行cordova run android时报错:

(node:xxxxx) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'manifest' of undefined

摆脱这个错误的唯一方法是恢复到原来的包名(当然要重新安装安卓平台)

我尝试了很多谷歌,但似乎找不到任何适合我的解决方案。你们中的任何人都愿意在这方面启发我吗?

【问题讨论】:

您正确构建项目并重命名包名(我只是测试它)。错误是由于在您的应用程序启动时断言失败而发生的。这个断言似乎依赖于你的旧包名,但没有断言代码就很难分辨。 @Blauharley 非常感谢您的回复。嗯,你认为它已经正确了吗?我尝试了多次并尝试了多种方法来修复它,但它总是产生相同的错误。这就是我要做的,我将在 Android Studio 中重命名包名,看看它是否有效。干杯伙伴, 【参考方案1】:

您可以在小部件标签内使用android-packageName

<widget id="com.oldName.oldName" android-packageName="com.newName.newName" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

【讨论】:

老兄......,天哪,它确实有效!很长一段时间以来,我一直试图为此找到解决方案,但我找不到任何东西。我一定是在文档或其他内容中错过了它,或者我可能没有深入挖掘,但是哇,就这么简单吗?该死的......谢谢一群人,你是一个救生员。 当我构建项目时,哪个 id 取 apk ? id 或 android-packageName,我的意思是如果 playstore 中的应用程序已经使用 id 发布并且我将 android-packageName 添加到 config.xml 并使用新名称,我可以在同一个应用程序上重新发布 apk 不,id 是包名,但这允许 ios 使用一个 id,Android 使用另一个,但是一旦发布 id/包名就无法更改

以上是关于更改 Cordova 项目 android 包名称的主要内容,如果未能解决你的问题,请参考以下文章

Cordova + Ionic 框架 - 如何安全地更改包名称?

Android更改包名称错误[重复]

如何在Java生成的文件中更改android中的包名称[重复]

如何在 Android Studio 中更改项目名称

Android Cordova 插件开发之创建项目

从 com.example 更改 Eclipse Android 项目的默认包