2012-11-28 30 views
3

我已經完成了iOS的這一點,現在我需要它的Android。我有一個代碼庫,可以創建無限不同的應用程序與簡單的配置文件更改。如何從單個代碼庫製作多個Android應用程序?

每個應用程序都是基於我包含在資源中的複雜XML配置文件創建的。我所做的只是我的strings.xml文件中的一個簡單更改,它指向所需的配置文件,這又使我的項目成爲一個新的獨立應用程序。簡單。

<string name="xmlconfig">nike-shoes</string> 

但現在我已經這樣做了,我該如何進行更改,使每個應用程序都是自己的APK?

如何輕鬆地使用代碼庫和一個項目在應用程序(和可上傳的apk)之間切換。我聽到有人說「使用一個庫,然後爲每個包含它的項目創建一個項目」,但是當你有超過15個應用程序並且正在增長時,這會變得過於複雜。

而且我也看到有人說「爲什麼不只是做一個應用,在那裏你可以把它們之間的所有應用程序中切換」和但也無關,我的項目是沒有意義的,以我的用戶。不幸的是,我不能解釋更多,但簡單的答案是,這不會起作用。

我在iOS項目上所做的是我只是更改Bundle ID,更改代碼簽名標識以匹配,更改應用程序名稱,並從我的主Info.plist文件中指向新的plist。 BAM!全新的應用程序。幾個簡單的步驟需要我不到一分鐘。

我該怎麼用Eclipse/Java/Android做到這一點?什麼是最簡單的方法?

有幾個步驟是好的,只要我不跟每個文件碴把它完成。

+0

結帳這篇文章:http://stackoverflow.com/questions/10569760/android-how-do-i-dynamically-set-the-package-name-at-build-time-for-an- open-so/10569893#10569893我在那裏回答了類似的問題 –

回答

4

我想我會回答我的問題在這裏使用的是Android工作室(2.2.3在我打字的時間),做到以下幾點:

  1. 在你AndroidManifest文件,點擊你的包名稱(單擊com.myapp.whateverwhatever部分),然後按Shift + F6。選擇「重命名包」,然後重新命名(不包含com.myapp部分)。除非需要,否則不要評論,字符串和文本。您需要使用Android Studio窗口底部的按鈕批准重構。

  2. 檢查您的build.gradle文件,並確保defaultConfig在你的applicationID匹配你改了什麼。

  3. 在strings.xml文件,根據需要,使您的應用程序自身的改變你的app_name和其他字符串。

花費大約1-2分鐘時間來獲得一個全新的應用程序。希望別人認爲這很有用。

+0

哇!我正在考慮創建一些自定義預編譯器來自動執行此重構。但是這4個步驟是完美的解決方案!非常感謝! – Scrat

1

所有你需要做的是改變清單中的包名稱(和一點點重新分解代碼中的文件,因爲基礎包名稱更改),以及未來建設將創造一個新的應用程序。 如果你想維護所有的應用程序,我也建議爲每個將包含這個變更集的應用程序創建一個分支。這樣你就可以修復一些東西並推送到所有版本。假設您將com.foo更改爲com.foo.bar,然後重新生成,那麼您現在應該添加所有R導入.bar,只需將import com.foo.R替換爲com.foo.bar.R,這是關於它。

+0

「並且因爲更改了基本包名稱而在您的代碼文件中重新考慮了一些因素」 - 您能詳細說明嗎?當我更改軟件包名稱時,幾乎看起來每個文件都必須更改。是否有一些自動化的方法來改變它們? –

+0

在答案中增加了一個示例 –

相關問題