2013-05-10 78 views
18

我有一个android phonegap项目和一个ios phonegap项目。将软件包名称更改为现有的Phonegap项目

它们是使用给定的包名创建的,但我现在必须更改此包名。

在Android中,我认为我必须更改清单中的包名称,并在src文件夹中重命名/移动java文件,并在该java文件中更改以反映新的包名称。然后清理并构建。这听起来正确吗?

我也注意到在Eclipse的Android工具>>重命名应用程序包,它要求包名称的选项。它会做出所有必要的改变吗?

我该如何更改XCode项目中的包ID以便项目可以正常工作?只需编辑该票证中所解释的Bundle标识符即可? Changing xcode package name without creating and importing to new project

感谢您的任何帮助。

回答

9

是的,基本上只是更改清单中的android:package属性,然后重构您的src /文件夹以遵循相同的包名称。

作为替代方案,您可以使用Eclipse中的重命名选项,但它将不得不修改所有使用资源的java文件的中的所有R.class导入。这看起来有点吓人,但应该可以正常工作。

+0

谢谢我会试试这个。 – Vero 2013-05-10 16:24:08

9

包含项目名称的文件有:

  • AndroidManifest.xml中< - 包名
  • RES /价值/ strings.xml中< - 可见名称列表
  • 的build.xml
  • config.xml

进入src/your.project.name并打开.java文件。

根据许可证,将包名称更改为新包名称以满足您的任何需求。

在AndroidManifest.xml“Package”中使用相同的包名称。

尝试构建,如果有效,请修改res/values/strings.xml中的值。

重新构建并遍历每个值,直到你快乐。

+1

更改res/values/strings.xml中的'app-name'为我工作,欢呼声:) – thatOneGuy 2015-07-14 13:06:24

20

这将是更好的,如果不是重命名的java文件和类名,你只要把你的变化:

  • AndroidManifest.xml中
  • config.xml中

然后删除android支持cordova platform remove android
然后重新添加android支持cordova platform add android

这将以正确的名称再次生成.java文件。

价:http://intown.biz/2014/03/07/renaming-a-cordova-application/

+4

AndroidManifest.xml中的每个更改都将丢失** cordova平台删除android **,config.xml中的更改已足够看到由** cordova平台重新创建的.java,包和清单添加android ** – 2015-04-13 14:24:05

+1

downvote,因为对AndroidManifest.xml的更改不是必需的,下面的答案少用upvotes提供了更好的答案。 – andreimarinescu 2016-05-13 11:10:30

12

如上的命令时,仅有3步骤:

  • 移除平台cordova platform remove android

  • 编辑Config.xml(主文件夹)找到&替换微件ID

<widget id="com.foobar.mynewname" version="1.0.0" android-versionCode="1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

  • 加入平台再次cordova platform add android
1

iOS中所有你需要做的是改变config.xml文件属性

<?xml version='1.0' encoding='utf-8'?> 
<widget id="org.test.area" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0"> 
    <name>YourNewAppName</name> 
    [...] 

那么作为库马尔建议做一个cordova platform remove ios然后cordova platform add ioscordova build ios然后在xcode中重建项目!