2012-02-15 70 views
2

我已將我的應用程序發佈爲Android市場的免費和專業版本。所有的源代碼都存儲在一個git倉庫中。維護適用於多個市場的Android應用程序(在Git上)

我現在想將該應用發佈到其他應用市場。由於只有少數文件會發生變化(Android Licensing),我正在考慮什麼是歸檔此文件的最佳方法。

其中一種方法是Android Library Projects,我想。 但是我可以通過使用git來歸檔類似的效果,這樣我就可以擁有兩個共享一個代碼庫的存儲庫,並且只有幾個文件纔有區別嗎? 由於我目前對git不太熟悉,請準確解釋我需要做什麼或需要注意的地方。

謝謝。

+0

考慮爲另一個應用市場設置另一個_branch_。 – 2012-02-15 14:36:29

回答

4

對於應用程序的所有變體使用一個git回購是我如何存儲我的。例如,我的一個應用程序有一個免費版和專業版,並且可以在Android市場和亞馬遜應用商店中使用。在Git中,我有3個分支:

  • AMZN

法師是免費版,專業版是目前Android市場上的付費版本,而AMZN是免費的亞馬遜應用商店版本。

我做了我所有的主人功能變化。一旦我準備好發佈版本,我就構建並測試免費版本,然後使用版本號標記主版本。然後我切換到專業版,並運行一個git merge master來引入所有新的更改。

由於pro是一個付費版本,當我第一次從主設備分支出來時,我評論了廣告相關的代碼(因爲它只有幾行,我認爲沒有必要重構), 並更改了任何字符串參考「一些應用程序Pro」而不是「一些應用程序」。

在合併過程中,我通常沒有任何衝突,並且保留了原始修改。但如果沒有,解決衝突並使專業分支恢復無廣告非常容易。

同樣對於amzn分支,我最初刪除了任何對Google市場的引用,並且每當我準備發佈時都會從master進行合併。

然後對於pro和amzn,我都可以構建測試和標記。

爲了保持包名的獨特性(我並不確定是否需要),我首先將我的活動並將它們移動到新包,即com.whatever.free.appname,com.whatever.pro .appname ...

+0

接縫對我來說就像一個可怕的工作量(和壓力)... – 2015-01-21 02:22:42

0

爲您的應用程序的新版本設置一個新分支,進行不同的更改。然後繼續在master分支上工作,並在釋放這兩個分支之前重新綁定你的新分支。

+0

rebase?這將重寫與不需要的更改。 – 2015-01-21 02:23:41

相關問題