I recently learned how to build my own version of cm10.1 from source. Now I want to add halo to it. How do I go about doing that? Do I also need to download the entire PA repository? And whats the process to cherry-picking from different ROMs?
Related
I'm trying to better understand how the devs around here do what they do. I'm an Electrical Engineer and I make no claims to be a proper software developer. I know my way around C, Python, and Bash. I know my way around git and have worked with various build/release processes before so I can stumble through some CMAKE and MAKE build processes. Currently I have installed the the android SDK, compiled AOSP master branch and run it in an emulator. I've also compiled Cyanogen mod repos for generic-eng though I haven't gotten that to properly boot on an emulator yet.
So that's an idea of who I am and where I'm starting from. Now for the questions. I figure if I can understand the build environment and process I can learn quite a bit from the large history of available changes, especially since there is an Atrix Dev Team for Cyanogen.
Cyanogen Mod
I can't tell which repo's here are pure AOSP, modified AOSP, or from scratch pure Cyanogenmod.
Do the CM repo's track AOSP as a remote branch?
If yes, does that mean I can build pure AOSP from CM repo's via repo?
If no, how can you tell where in the AOSP development cycle the CM repo's fork from?
Are 'nightly' builds by definition a repo sync of the non-release base simply built as is? AKA for an Atrix nightly, you would checkout the gingerbread, sync, and build (assuming you're setup for building in the first place)
Are Official release only tracked via git tags? IE for CM 7.1 it's not really tracked on the manifest so would you need to find the proper tag and do a repo forall git checkout -b cm-7.1 or similar? I'm asking how you could build a previous release which should match the official release.
Atrix Dev Team
Similar to the CM Question, do these repo's track CM as their base repo's?
Could someone describe the typical development cycle of how the Atrix port is handled on top of a moving CM development? I'm a little lost as to how AOSP -> CM -> Atrix dev works out. If I checkout the Atrix manifest to gingerbread and perform git diff with the /m/gingerbread (I beleive the CM tracking branch) I see no differences. Are Atrix-Dev-Team and Official CM repo's simply fully in sync at this point?
How would I setup my repo to match a given Release (as in what tag or manifest I understand git)?
How would I setup my repo to match a given Nightly (as in what tag or manifest I understand git)?
As above, could you build pure CM from the Atrix repo's? This very well could be answered with the above questions.
Generic Info
What's a 'kang'?
My guess would be it's a build produced from the source repositories and not an official release by the developers.
Exploring the AOSP I noticed a separate kernel download link. I know CM uses a custom kernel but is that included in the default builds or is that typically flashed and managed separately?
After I'm familial with the whole process, and knowing what I've stated above what's the best step form there to be able to help contribute? Right now I've picked up a book on programming Apps on Android so I can learn the tools and some Java and I've had c++ on my radar for some time.
Thanks for your time. I've tried to get relatively well informed before I post questions.
So ... am I asking these in the wrong place?
I know that lots of roms come with Halo now, but I've been wanting to stick with stock cm10.1 which unfortunately doesn't have it. Now I know that installing Halo is much more than just installing an apk, but can someone explain to me the process? How is Halo implemented into Roms, and if possible, some instruction on doing it myself.
Thanks in advance
numel007 said:
I know that lots of roms come with Halo now, but I've been wanting to stick with stock cm10.1 which unfortunately doesn't have it. Now I know that installing Halo is much more than just installing an apk, but can someone explain to me the process? How is Halo implemented into Roms, and if possible, some instruction on doing it myself.
Thanks in advance
Click to expand...
Click to collapse
The way HALO is implemented into ROM's is by cherrypicking the commits from the Paranoid Android github repository that make HALO work. For example if in this Google Plus post from the Paranoid Android Team you will see mainly these two commits 1. https://github.com/ParanoidAndroid/android_frameworks_base/commit/518c329e8c67fa96b8a8fc22e1962ddb8497c333 and 2. https://github.com/ParanoidAndroid/android_packages_apps_Settings/commit/7c739a86e7a02451a63615d71f1b6c846caacdc6 are needed to implement the HALO features. Since you mentioned you were interested in doing this yourself I would recommend taking a look at this excellent guide to using github and cherrypicking commits. I would also recommend looking at the Cyanogenmod wiki on building CM10.1 from source if you have never done that before.
shimp208 said:
The way HALO is implemented into ROM's is by cherrypicking the commits from the Paranoid Android github repository that make HALO work. For example if in this Google Plus post from the Paranoid Android Team you will see mainly these two commits 1. https://github.com/ParanoidAndroid/android_frameworks_base/commit/518c329e8c67fa96b8a8fc22e1962ddb8497c333 and 2. https://github.com/ParanoidAndroid/android_packages_apps_Settings/commit/7c739a86e7a02451a63615d71f1b6c846caacdc6 are needed to implement the HALO features. Since you mentioned you were interested in doing this yourself I would recommend taking a look at this excellent guide to using github and cherrypicking commits. I would also recommend looking at the Cyanogenmod wiki on building CM10.1 from source if you have never done that before.
Click to expand...
Click to collapse
Thanks a ton! Couldn't get any answers until now
Hello all !
My question is simple, how can i install HALO v2.0 on my stock CM ??
If there is any patch released (i didn't find any) !
i love the stock CM without other features.
Thank you !
Halo is massively integrated into Frameworks, SystemUI, Settings and many other places. It is not possible to simply "patch" it in.
If you Want CM + Halo, check out Temasek's unofficial CM ROM.
rootSU said:
Halo is massively integrated into Frameworks, SystemUI, Settings and many other places. It is not possible to simply "patch" it in.
If you Want CM + Halo, check out Temasek's unofficial CM ROM.
Click to expand...
Click to collapse
I only use temasek if am not on stock CM, he had some problems with HALO notification count, so it's useless now.
hope he provide an update.
So, I have this source for building CM11, for xpeira sp, huashan. We already have CM11 but, I desperately need HALO in CM. So I want to cherry-pick HALO to cm.
So I have start from the source. Here's what we have
https://github.com/CyanogenMod/android_device_sony_huashan/
https://github.com/freexperia/android_device_sony_huashan
How do I start from here? I want to cherry-pick the HALO and build the rom, nothing else.
I've set up building environment in my current OS. So I guess I need to fork the repo from git to my pc, then cherry-pick the HALO and build...? Plus, in the source, there's a few folder that says no longer needed, so how I get rid of them, too?
You won't get any help here. Tried getting help here and not a single dev helped. Here we want to help each other but the ones with knowledge don't want to share with us who just want to build and have fun. I'm really sorry kid
Ok so I have built cm11 for my device (galaxys s 4g), and ported cm11 from another device to (aries -> galaxy s 4g). CM11 has too much going on IMO and I just want pure aosp on my device, the problem is that there are no (recent) aosp roms for my device, or any similar devices.
So how do I port my device to a different flavor of android when there are no roms of that flavor?
What have I tried?
So far I have setup the aosp 4.4 repo to a different folder than my cm11 repo (the build environment files should be the same right?)
I tried using the manifest from the cm11 rom and buidling with aosp,that didnt work it didnt even finish compiling =(.
I browsed the aosp source for other devices by the same manufacturer, but everything looked completely different from what I am used to.
The most helpful guide in this direction sofar has been cyanogenmods guide but it has left me with more questions than answers.
What [I think] I need to know
Custom recovery - aosp doent seem to include a recovery, the cm guide says to start with the recovery. So i need to know if I need to add a custom recovery to aosp, or if i can install aosp roms from twrp without breaking it.
Binaries - It is safe to use the binaries used in CM11 for aosp/any other flavor, or are the binaries flavor specific? (im thinking they are safe to use, but not entirely sure).
Device files - what files should be safe to use for any flavor?
Kernel - Cm builds the kernel when you compile the rom (or so it says), does aosp build the kernel when you build the rom, or do I have to build the kernel separately? Is it safe to say use a CM11 kernel with an aosp rom?