Announcements

ILLEGAL CONTENT I'd like to just reaffirm MoDaCo's position regarding piracy and illegal content in the light of some recent questions / postings. Posts will be censored by myself or my moderation team if the contain or link to: Illegal / pirated / cracked software or sites that host such softwareNintendo emulators / ROMs or sites hosting them (in light of Nintendo's legal stance)CUSTOM ROMS You may discuss and post links to custom device ROMs on MoDaCo, provided the following rules are adhered to: ROMs must not contain any illegal 3rd party software (this includes trial versions included without permission)ROMs must give full credit to the original authorISSUES If you have any issues with this policy, please contact PaulOBrien directly via PM.

Please note that selling items on the forum directly is not allowed by the forum rules. There is a forum for eBay auctions whereby you can list the items on eBay and link to them there. This is the ONLY forum for this type of activity. You may also advertise links to the eBay forum in your signature. Please note that selling directly in contravention of these rules will result in a warning / suspension / ban.

I've had a few people ask me this over the past few days via Twitter and other means, it was initially sent as a PM to a couple of people but I may as well just make it a thread at this point. I would've written this for CM10 but that's a bit more involved at the moment. Hacks.

This is pretty much how I always did my builds for CyanogenMod 9. I'll be assuming you have general Linux knowledge as teaching that too would take quite a lot longer.

Initial Setup

You need a Linux distribution that is Debian based, Ubuntu is always preferred when it comes to building Android, though personally I've always used Debian 6 and had no trouble. I also hope you have lots of RAM.

You will also need to install the Sun Java 6 JDK which is a bit of a pain as due to Oracle issues it has been removed from Ubuntu repositories. You'll probably have to do a bit of a Google around as the best method to do this changes pretty often for some reason. The package was sun-java6-jdk. Some have had luck with this: http://www.gaggl.com...n-ubuntu-12-04/

It's time to meet "repo". repo is Google's git management wrapper that ties many git repositories together. It is used to initially sync and update the CM code base.

I would advise you put the "repo" tool at ~/bin so that you can call it anywhere as that user, e.g:

This'll take a while as you're downloading the whole Android source and history. Once done, I'd run [font=courier new,courier,monospace]repo sync[/font] again just to make sure everything synced properly. Syncs don't take long after the initial sync, it just pulls what has changed.

You'll now want to set up a local manifest for my repos (unless you want to go it alone and reinvent the wheel with supporting the device). This allows you to pull the updates in my repos at the same time as you run [font=courier new,courier,monospace]repo sync[/font] as if it were part of CM9. It generally makes things easier instead of you having to worry about git pulling all my stuff when there's an update. Navigate to your CM9 folder, and the ".repo" folder within that, e.g; [font=courier new,courier,monospace]cd ~/android/source/cm9/.repo/[/font]

This is my manifest, and I doubt you'll have anything to change. You just save this to [font=courier new,courier,monospace]local_manifest.xml[/font] within the .repo directory.

Run [font=courier new,courier,monospace]repo sync[/font] again and you'll also notice it pulling these repos. Pretty much done by this point, you'll want to go to [font=courier new,courier,monospace]~/android/source/cm9/vendor/cm[/font] and run [font=courier new,courier,monospace]./get-prebuilts[/font] in there. This just gets the ROM Manager apk, Terminal Emulator apk and its associated lib (yuck, I know, but they are required in the build process and it will complain if they're missing.)

[b]Building[/b]

You're ready to build - though it doesn't hurt to throw in another [font=courier new,courier,monospace]repo sync[/font].

From the CM9 folder, in my example, [font=courier new,courier,monospace]~/android/source/cm9/[/font], you want to run [font=courier new,courier,monospace]. build/envsetup.sh[/font] which initialises the environment for building. Once you've done this, run [font=courier new,courier,monospace]brunch cm_blade2-userdebug[/font] and it'll take it from there.

Android is pretty big and it depends on your hardware how quick the build process is, my builds typically take about 20-30 minutes with an Intel i5-2300 2.8GHz Quad-Core. A word of warning: if you're making changes there's a chance they might not get picked up by the build process, I've no idea why this happens - it's apparently a widespread issue. If you want to completely clean your output files, run [font=courier new,courier,monospace]rm -rf out/target[/font] which will scrub anything related to the device.

Once the build has finished it will tell you where the final zip is at. Have fun!

Share this post

Link to post

Share on other sites

Quick question, I tried following your guide but substituting CM10 for CM9 and Jellybean for ICS cos I think that most people just want to progress to CM10, not least CyanogenMod themselves, it all goes fine until the last download section where it says...

error: revision jellybean in Dazzozo/proprietary_vendor_zte not found

Are there no files for the Crescent in CM10 yet? Or are you using the "testing" branch for CM10?

Share this post

Link to post

Share on other sites

When I want to init the Coldfusion x repos, like the readme on your github says, it just tells me "repository not found" and I can't sync, do you know.

I am runnin Ubuntu 12.10 64 bit, I also tried it on 12.04 and it doesn't work there either, do you have any clue why ? This is the only thing that happens after "repo init -u git://github.com/ColdFusionX/android.git -b jellybean"