Open a terminal and cd to the directory that you set up your repo. Then, in your browser, open up [1/2] Settings: HALO
and [2/2] Frameworks: HALO
from the gerrit.
Because it's titled [1/2], we'll start with the settings entry.
See where it says "Project AOSPA/android_packages_apps_Settings"? That's important. It says that this change is in packages/apps/Settings. So, in terminal:
Now, in the top right of the page, there's a download button. Click that, then choose "anonymous http" from the dropdown, instead of "repo". Click the clipboard button next to the one titled "cherry pick". It will copy the command to your clipboard, then paste it in terminal. It should look like this:
git fetch https://gerrit.paranoidandroid.co/AOSPA/android_packages_apps_Settings refs/changes/39/239/13 && git cherry-pick FETCH_HEAD
Press enter, and it'll download the changes. If all goes well, you'll see a message saying it's done. If not, you'll need to fix the errors. I'll get to that later.
Now, bring your terminal back to the top of your build directory with
Now that you've put the settings entry for Halo in, now you need to add the frameworks. Go to the second gerrit entry, [2/2] Fameworks HALO.
You'll notice on the build page that, under project, it says AOSPA/android_frameworks_base. This means you have to go to the frameworks/base folder.
Again, go to the download tab and copy the cherry-pick
git fetch https://gerrit.paranoidandroid.co/AOSPA/android_frameworks_base refs/changes/44/244/21 && git cherry-pick FETCH_HEAD
Press enter, and it'll try to merge. Chances are, this is where it doesn't work. The terminal output will tell you if it didn't work. If it didn't work, enter this command to check the problem:
The terminal will then output all the changes to files this cherry pick consists of. In green are the files that work, and in red are the problem files. Here is the trickiest part.
Usually, for the frameworks cherry pick, my "git status" output tells me the problem is in packages/SystemUI/res/values/pa_strings.xml. So, in terminal:
This will open up the file in question in a text editor. Now, on the gerrit entry for the Halo frameworks, there's a list of changed files. Click on the entry for pa_strings.xml (it's toward the bottom) (or here's a link
). It'll show you the difference in the base file and the file needed for Halo frameworks. Everything in green is added, and everything in red is removed. So check this against your file, and make sure the changes are done. Frequently when you run into cherry picking errors, all you need to do is remove the line "<<<<< HEAD" that gets mistakenly put into the file.
Once you've edited the problem file, in this case pa_strings.xml, you need to tell your terminal you've fixed the problem. So save and exit the text editor, and type this in terminal:
git add packages/SystemUI/res/values/pa_strings.xml
Once again, check for any errors.
If everything turns up green, you're good to go. Commit these changes to your build.
Now, go back to the base of your build in terminal.
From here, you just have to build to see if it works.
Wait for it to do its thing. If it compiles and tells you where the output file is, congratulations! You have a build with halo! If not, look at the output and do your best to fix the error that stopped it from building.
Then, at the end of the day, when you want to get rid of whatever cherry picking you've done, sync with the PA source code and it'll wipe out all cherry picks.
This reverts it to a clean build, using the latest code from PA and all the commits from the "merged" section of the gerrit.
Nexus 5: Personal Paranoid Android nightly build
HTC One: Paranoid Android official beta
Samsung Infuse 4g: Beanstalk
My personal nightly builds from Paranoid Android source
With Halo: Nightly folder
Without Halo: Nightly folder
Also, you can check out the thread
for updates and info.