更改 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 框架 - 如何安全地更改包名称?