2016-04-04 50 views
2

最近我決定深入Android開源項目世界。這就是我如何將自己的生活與AOSP相結合:如何在分派AOSP清單後正確運行回購同步?

爲了深入瞭解AOSP世界,我需要弄清楚我的手並修改項目中的代碼。我將在三臺不同的計算機上執行此操作,因此我需要將我的工作存儲在遠程git存儲庫中。所以我需要在我自己的github帳戶中分發AOSP清單並從中解決問題。

說後,我嘗試用框架項目打,那麼我就需要這個項目叉到我自己的github帳戶,以及:理想情況下

<project path="frameworks/base" name="platform/frameworks/base" groups="pdk-cw-fs,pdk-fs" /> 

,當我做了本地回購同步,框架/基地項目將從我自己的github賬戶中獲取,所有其他項目將從谷歌git倉庫中獲取。

這是我在做動作:

我想要做的就是從那裏建立該AOSP清單混帳回購協議,以我的github和工作。然後我做:

repo sync -u [email protected]:my_own_github_account/platform_manifest.git 

然後我做的:

repo sync 

不過,我收到了很多錯誤,像控制檯:

fatal: remote error: 
    my_own_github_account/platform/external/libopus is not a valid repository name 
    Email [email protected] for help 

看來回購將承擔項目會來自與清單項目相同的基礎。我不確定如何正確執行分叉清單的回購同步。

此外,我不確定我試圖開始AOSP工作的方式是愚蠢還是不專業。如果是這樣,如果你能指出我正確的做法,我會很感激。提前致謝。

回答

3

其實我在這裏發現這篇文章幾乎完美地回答了我的問題:https://www.primianotucci.com/blog/fork-android-on-github

的原因,我不能做回購同步是因爲該行回購的文件:

<remote name="aosp" 
      fetch=".." 
      review="https://android-review.googlesource.com/" /> 

兩個點意味着相對於回購清單項目本身取項目。這就是爲什麼回購試圖從my_own_github_account

同步然後,我把它改成

<remote name="aosp" 
      fetch="https://android.googlesource.com" /> 

然後回購同步正常工作。

如果我想從我自己的github帳戶中同步某個特定項目,該怎麼辦?

當然,您需要將該項目鏡像到您自己的github帳戶。然後修改清單文件是這樣的:

添加此行到清單文件:

<remote name="origin" fetch="https://github.com/my_own_github_account" /> 

的名字是你想用你自己的子項目從遠程下載源。

然後補充一點:

<project path="frameworks/base" name="platform/base" 
      remote="origin" revision="your_default_revision" /> 

注意的是,爲了覆蓋默認你需要添加remote="origin"遠程下載源。

然後,當你做repo sync,回購將從你自己的github帳戶中獲取框架/基地,並從谷歌來源獲取其他項目。