[Galaxy S II Android Development] cyril279:
[MENTION=5649338]tdguchi[/MENTION]

WARNING: Any user's repositories shows us what he has forked and edited, but it does NOT promise us that he is using all of his own forked libraries.

That said, we want Asimovi's omni, so let's start at the source.

We'll want to use his

device_i9100

device_s2-common

kernel_smdk4412

hardware_samsung

We substitute these in by changing the strings of name, and remote, and revision to their appropriate values, based on how omni's manifest defines its remotes, and how Asimovi has named his repositories.

NOTE: in this case, changing the remote also causes us to change the amount of information needed in the name string.

<project name="duvall/android_device_samsung_i9100" path="device/samsung/i9100" remote="github" revision="android-5.1" />
<project name="duvall/android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="github" revision="android-5.1" />
<project name="duvall/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="android-5.1" />
<project name="duvall/android_hardware_samsung" path="hardware/samsung" remote="github" revision="android-5.1" />

NOTE: where a remote is not defined in the main manifest, you can define it within the local_manifest. example:

<remote name="bitbucket"
fetch="https://bitbucket.org/"/>

<!-- Uber toolchain -->
<project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-ub4.9" name="UBERTC/arm-linux-androideabi-4.8" remote="bitbucket" revision="master" />
<project path="prebuilts/gcc/linux-x86/arm/arm-eabi-ub4.9" name="UBERTC/arm-linux-androideabi-4.9" remote="bitbucket" revision="master"/>

---------- Post added at 03:41 PM ---------- Previous post was at 03:21 PM ----------

to get Asimovi's customizations, we'll need to substitute more items, but we'll need to include lines to make sure that they are removed from the main manifest.

If we want to use Asimovi's frameworks base, which is already called by Omni's main manifest, we'll need to add the following lines to a manifest:

<remove-project name="android_frameworks_base" />
<project path="frameworks/base" name="duvall/android_frameworks_base" remote="github" revision="android-5.1" />

I generally recommend pairing them, but you could put all of the removal lines together at the top, then the project lines together later. It doesn't matter as long as you remove BEFORE you add.

A fully formatted example:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="SlimRoms/bootable_recovery" />
<project path="bootable/recovery" name="omnirom/android_bootable_recovery" remote="github" revision="android-5.0" />

<!-- Device -->
<project path="device/samsung/i777" name="cyril279/android_device_samsung_i777" remote="github" revision="slim-5.0" />
<project path="device/samsung/galaxys2-common" name="cyril279/android_device_samsung_smdk4210-common" remote="github" revision="slim-5.0" />
<project path="kernel/samsung/smdk4412" name="cyril279/android_kernel_samsung_smdk4412" remote="github" revision="omni-5.0" />
<project path="hardware/samsung" name="bauner/cm-android_hardware_samsung" remote="github" revision="cm-12.0" />
<project path="vendor/samsung" name="some_repo/proprietary_vendor_samsung" remote="github" revision="branch_name" />

</manifest>

Asimovi has several forked libraries, but it DOES NOT MEAN that he is using them, or that they are the sole source for his builds. His manifest would tell a more complete story than his github repositories.

frameworks_base

frameworks_native

frameworks_av

Happy building!

-Cyril