Search code examples
androidandroid-sourcerepo

AOSP repo manifest branch name confusing. go for rev## or mr1?


I noticed that the user will have to obtain a repo manifest file from

https://android.googlesource.com/platform/manifest

and choose a branch.

However I noticed something confusing. Take Android 6.0.1 (marshmallow) for example. In the list of branches, some branches are named with revision numbers like below.

android-6.0.1_r65
android-6.0.1_r66
android-6.0.1_r67
android-6.0.1_r68
android-6.0.1_r69
android-6.0.1_r7
android-6.0.1_r70
android-6.0.1_r72
android-6.0.1_r73
android-6.0.1_r74
android-6.0.1_r77
android-6.0.1_r8
android-6.0.1_r9

However, there are also branches named with 'marshmallow' prefix like below.

marshmallow-cts-dev
marshmallow-cts-release
marshmallow-dev
marshmallow-dr-dev
marshmallow-dr1.5-dev
marshmallow-mr1-dev

I googled that 'mr1' is a shortened term for 'major release'.

If I want to build an AOSP for my android device, which one should I go for? Should I go for the latest revision numbered branch, or 'marshmallow-mr1-dev'?


Solution

  • First of all you can check the origin of the tags and decide which you should use.

    If your goal is to port the AOSP to device, make it perfect, pass CTS etc.. then the tags ex. android-6.0.1_r77 are a better option as often its the code will be considered official and if there is an error you can track it down. Even across all AOSP.

    If you just want to play with it, and develop/get the latest code then should use the branch, but beware that all branches not necessarily sync across repositories and you might need to fix some framework/HAL issues so it will work.