更改PhoneGap项目的Android包名称

4

我现在被要求为一个Phonegap项目添加推送通知功能。在iOS上一切运行顺利,但是在Android上出现了问题。问题似乎是应用程序包/捆绑名称为com.phonegap.helloworld。Urbanairship不喜欢"重复的包名",在xcode中这很容易改变,但在安卓端不太容易改变。

我尝试了这个问题的被接受的回答:Change package name to existing Phonegap projects。也就是说,我改变了platforms/android/AndroidManifest.xml中的'package'字段,然后重构了目录结构以反映这个新的包名。然而,在构建安卓应用程序时,我将mv的旧目录重新出现以反映包名的更改。AndroidManifest.xml文件也已被更改,以便'package'字段恢复为com.phonegap.helloworld。

所以我感到困惑 - 我该如何改变包名?


你误解了他的回答。他甚至没有谈论过更改 platforms/android/AndroidManifest.xml 文件,我不确定你是如何从他的帖子中理解到这一点的。 - Stephan Branczyk
请在此处发布您项目的清单文件。我们会告诉您需要编辑哪个部分。 - Stephan Branczyk
你还能如何解释“基本上只需更改清单中的android:package属性,然后重构src/文件夹以遵循相同的包名称。”? - John
平台/android-14/文件夹中不包含您的清单文件。它包含整个平台SDK的清单文件(该文件被导入到您的项目中)。他只想让您修改自己的清单文件,而不是整个平台SDK文件。请在Eclipse IDE中发布您项目的屏幕截图,我认为问题在于您没有像大多数人那样设置Eclipse。 - Stephan Branczyk
1个回答

19

您不应该编辑platforms/目录下的文件,这是PhoneGap根据www目录创建特定设备版本的位置,每当您运行新的构建时,它都会覆盖它们。

要编辑包名称,请在www目录中打开config.xml文件。包名称是“widget”标记中“id”值:

<widget
    id="PACKAGE NAME"
    version="1.0.0"
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:gap="http://phonegap.com/ns/1.0"
>

这里有另一个示例的链接。


2
不确定为什么这个没有更多的赞。我看过许多其他的黑客/解决方案,但这是迄今为止最好的。在config.xml中更改id并重新构建您的项目。完成。 - DemitryT
非常感谢您提供简单易懂的答案。 - jivangilad
1
我的应用在Android和iOS上的ID是不同的。你能否为平台提供特定的ID? - Pieter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接