2013-05-10 182 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中重建項目!