repo搭建android程式碼倉庫
阿新 • • 發佈:2018-11-21
OEM提供的rk3188+Android4.4.2原始碼包是把全部的android原始碼做成了一整個git倉,看著都嚇人。於是我打算改造一下。
直接採用google管理android原始碼的方式,簡單的把OEM提供的android原始碼按目錄拆分成多個程式碼倉,然後用repo+git的方式搭建一套完整的版本管理。
網上介紹repo搭建程式碼倉的文章有很多,大致就是先用git建一個存放repo需要的default.xml的程式碼倉,用來存放各個xml配置檔案。然後再新建多個git程式碼倉,存放android原始碼。default.xml中需要寫好git倉的下載名稱,遠端git倉的下載連線,拉取到本地的路徑名稱等。下面是一個完整的default.xml,可以作為參考:
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote fetch="ssh://[email protected]" ====> git程式碼倉庫的下載連結 name="origin" ====> git遠端伺服器的名稱,git pull/git fetch會用到 review="http://192.168.1.1"/> ====> repo upload提交修改的gerrit連結,如不需要review程式碼則不需要填寫該項 <default remote="origin" revision="master"/> ====> 表示取遠端git倉庫的master分支,即主分支 <project path="abi" name="android/abi" /> ====> name代表git程式碼倉庫名稱,path代表clone到本地的目錄。下同 <project path="art" name="android/art" /> <project path="bionic" name="android/bionic" /> <project path="bootable" name="android/bootable" /> <project path="build" name="android/build" /> <project path="cts" name="android/cts" /> <project path="dalvik" name="android/dalvik" /> <project path="developers" name="android/developers" /> <project path="development" name="android/development" /> <project path="device" name="android/device" /> <project path="docs" name="android/docs" /> <project path="external" name="android/external" /> <project path="frameworks" name="android/frameworks" /> <project path="hardware" name="android/hardware" /> <project path="kernel" name="android/kernel" /> <project path="libcore" name="android/libcore" /> <project path="libnativehelper" name="android/libnativehelper" /> <project path="ndk" name="android/ndk" /> <project path="packages" name="android/packages" /> <project path="pdk" name="android/pdk" /> <project path="prebuilts" name="android/prebuilts" /> <project path="RKDocs" name="android/rkdocs" /> <project path="rkst" name="android/rkst" /> <project path="RKTools" name="android/rktools" /> <project path="sdk" name="android/sdk" /> <project path="system" name="android/system" /> <project path="tools" name="android/tools" /> <project path="vendor" name="android/vendor" /> <project path="resource/android_bin" name="android/android-bin" /> ====> 存放自定義的apk等的git倉庫,拉到本地resource/android_bin目錄下 <project path="resource/android_logo" name="android/android-rom-oem-res" /> ====> 存放自定義開機logo的git倉庫,拉到本地resource/android_logo目錄下 <project path="resource/sdk_root_files" name="android/sdk_root_files" > ====> SDK根目錄下的檔案組成的git倉庫,拉到本地resource/sdk_root_files目錄下 <copyfile src="README" dest="README" /> ====> 把單個檔案一個一個的複製到本地SDK根目錄下。下同 <copyfile src="make.sh" dest="make.sh" /> <copyfile src="manifest.xml" dest="manifest.xml" /> <copyfile src="buildspec.mk" dest="buildspec.mk" /> <copyfile src="Makefile" dest="Makefile" /> <copyfile src="mkimage.sh" dest="mkimage.sh" /> <copyfile src="svn.sh" dest="svn.sh" /> <copyfile src=".gitignore" dest=".gitignore" /> </project> </manifest>
以下是repo搭建程式碼倉的一些參考連結:
https://blog.csdn.net/kanyueliang410/article/details/79146145
https://blog.csdn.net/shift_wwx/article/details/19557031
https://www.cnblogs.com/aijianshi/p/5822647.html