2016-01-21 164 views
2

我有一個模板應用程序可以根據客戶的品牌輕鬆改變配置參數。在Google Play上發佈時,我顯然需要更改packagename,AndroidManifest.xml在AndroidManifest.xml中更改Android包名而不實際更改文件夾包路徑

我的問題是:是,可能在不改變文件夾名稱,這樣我就不需要惹整個項目結構?

+1

'applicationId'在gradle這個是你想要什麼 –

+0

謝謝@DavidMedenjak。不幸的是,這個項目已經超過5年了,不使用'gradle',而不是'AndroidStudio' :(可以將'gradle'與舊的eclipse項目集成嗎? – ssantos

+1

轉而使用Android Studio反而更容易試圖整合gradle這個偏食。 – Christopher

回答

0

Android Studio中有一個非常強大的重構工具,它允許您通過重命名也是所有目錄重命名上一個簡單的方法全包結構。你不應該在java包和項目目錄樹中使用不同的名稱,這會使你的項目變得很髒。

+0

不幸的是,移動到'AndroidStudio'不是我的選擇。我看你就髒點,但我可以面對自動化的緣故:) – ssantos

0

1)項目

2)右鍵選擇Android的工具

3)然後單擊重命名的應用程序包

0

你嘗試this答案。在我使用Eclipse時它對我有效。

+0

是的,這實際上是標準的方式,但沒有回答我的問題:( – ssantos

1

這完全有可能。在您的AndroidManifest.xml文件中,您應該根據自己的需要更改軟件包名稱,然後您的所有活動和服務都應該定位到您的課程的完整路徑。

舉例來說,如果您的應用程序包的名稱應該是com.mybrand.myapp和舊的Java包的名稱是com.myoldbrand.myoldapp您的清單應該是這樣的:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/common_app_icon" 
    android:label="@string/common_app_name" 
    android:supportsRtl="true"> 

    <activity android:name="com.myoldbrand.myoldapp.MyActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

+1

感謝@JulesTréhorel,唯一的問題是,R類別產生的新的'packagename'路徑,所以每一個導入都被打破了,我終於用一個腳本來解決它,自動*重構導入語句。 – ssantos