Android 項目多版本管理

來源:互聯網
上載者:User
Android 項目多版本管理

 

基於GIT強大的分支(git branch)能力,Android項目可以實現由一個基本版本產生多個不同UI的版本,並同步主要邏輯代碼,實現不同的外表,一樣的內心。其基本原理是使用<orinial-package/>來指定基礎包名。下面是實現的步驟:

0. 預備知識:Git remote branch 遠程分支管理

1. 準備基本版本

多個版本管理的特點是邏輯相同,UI有所區別,為了以後merge主邏輯,我們需要使各個分支之間的主邏輯代碼的包名一致,同時為了發布不同UI的版本,程式的包名以需要區別開來,看起來這兩點是有衝突的,這時重要的屬性出場了:<orinial-package/>!用此屬性來指定主邏輯代碼的包名,用<package/>來指定程式的包名,這裡用一個單詞來佔位,例如.base_version,以便於以後添加新的UI分支後替換成新的包名。用法如下代碼:

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.pkgname.base_version"    android:versionCode="1"    android:versionName="0.00.00" >    <original-package android:name="com.pkgname" />

 

另一個準備工作:為了避免資料庫衝突,把所有資料庫的Authority改為”com.pkgname.base_version”

 

 

2. 產生一個新的版本分支

2.1 從base_version產生一個新的分支,例如my_ui_branch_0,假設當前base version的分支是develop:

 $git checkout develop -b my_ui_branch_0

2.2 全域替換”com.pkgname.base_version” 為”com.pkgname.my_ui_branch_0″。

2.3 把AndroidManifest.xml中所有”.YourComponent” 改為 “com.pkgname.YourComponent”。

2.4 git commit 產生一個commit。

3. 儲存新版本到遠程分支。

$git push origin my_ui_branch_0

4. 如何操作分支的原則。

兩個原則:

原則一:Merge方向為從base_version==>my_ui_branch_N,反方向merge後果很嚴重。

原則二:確保在base_version上修改公用邏輯或UI。

至此,我們就可以快樂的產生帶有新程式包名的分支,出現BUG時再不用擔心多個版本的同步問題,只要在base_version上修改並merge到其它分支就行了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.