Building CM11 from source - Android Q&A, Help & Troubleshooting

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

Related

[Q] Questions about Development Process

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?

Need Clarification with Forking AOSP in github

So a bunch of friends and I want to try to write a custom ROM from AOSP for Galaxy Nexus (toro). One thing we were thinking about was syncing all our code via github.
We will create our own repo so that we can make sure all our code is in sync.
One thing we looked at was github.com/android
Should we just fork all the repo's from the github.com/android page? We understand that it doesn't make sense to download everything from AOSP and upload via github.
Any help clarifying if we should fork or mirror repo's and what repo's specifically so we can get started.
msg04 said:
So a bunch of friends and I want to try to write a custom ROM from AOSP for Galaxy Nexus (toro). One thing we were thinking about was syncing all our code via github.
We will create our own repo so that we can make sure all our code is in sync.
One thing we looked at was github.com/android
Should we just fork all the repo's from the github.com/android page? We understand that it doesn't make sense to download everything from AOSP and upload via github.
Any help clarifying if we should fork or mirror repo's and what repo's specifically so we can get started.
Click to expand...
Click to collapse
Forking would be the polite thing to do because then the other developer's changes would be logged and tracked in your code. As too which ones that totally depends on what you are wanting to change. I would however suggest just forking the ones you plan on modifying and syncing the rest from the AOSP Github.
You don't always have to "fork" in the traditional sense. As long as you keep the previous commits it will be good taste. If you are only working on a jellybean rom, you can create a repo on github. Clone that repo. Then you can pull only the jellybean aosp branch into the one you created. You can do the same for every other project you add into your repo and before you know it, you saved a ton of bandwidth by only syncing one branch instead of tracking all branches. just my two cents.

[ROM][DEV][WIP] Ubuntu-Touch port

I noticed that there is no current port going or started for ubuntu touch, so today i thought i would start that project.
the first thing i noticed was that ubuntu's documentation for porting is one of the worst things ive ever seen, so this will probably end up being kind of a guide until we get a working image or something.
first thing is you will absolutely need Linux. Im using ubuntu for ease of use, although I do build android on arch.
I set up a directory structure on my pc just for android development. i have ~/android/platforms/ in which i have cm11, ubuntu-touch carbon, etc.
so to summarize how i got this started:
Code:
$ mkdir ~/android/platforms/ubuntu-touch-phablet-4.2.2_r1
$ cd ~/android/platforms/ubuntu-touch-phablet-4.2.2_r1
$ repo init -u git://phablet.ubuntu.com/aosp/platform/manifest.git -b phablet-4.2.2_r1 && repo sync -j16
Now im really hoping that is the correct branch. I tried to follow the "porting guide" and its just full of out dated information that lead me to sync a few repos incorrectly. :silly:
after a few failed builds and some common error logs i finally figured i was on the wrong branch. This attempt shall be on 4.2.2_r1 as that appears to be the latest. (I hope)
anyway the rest is still in progress. My sources will be on github for people to help out.
Device
Kernel
also: im on irc on freenode at #oudhitsquad pressy4pie
[update]
i have a huge problem in the real world, so i will have virtually no time to get this updated for now. I am really sorry, hopefully i can get it going again soon
XDA:DevDB Information
Ubuntu Touch , ROM for the ONEPLUS ONE
Contributors
konnorrigby
Version Information
Status: Testing
Created 2014-09-24
Last Updated 2014-10-13
cool mate! thanks for that...cheers!
Nice. Would love to give a hand here, I'll visit the Ubuntu workshop at devcon this weekend to learn some new fresh information about porting. Maybe I'll give it a try later too.
Good news!
Looking forward to see the first builds getting ready for testing.
:good::highfive:
Mackis said:
Good news!
Looking forward to see the first builds getting ready for testing.
:good::highfive:
Click to expand...
Click to collapse
This will take a while. As you can see in OP, there are problems with the porting guide from Ubuntu. When I get back from devcon, I hope to know more about porting.
So turns out i was in fact syncing the wrong repo again. shame on me for following a ubuntu guide. it appears there is a 4.4_r1 repo also. Syncing again. I have a fairly slow connection. ill see what i can get done on 4.2.2_r1 though in the mean time
I have high hopes...
Would like to a working rom.. Wish you best of luck and hope its smooth sailing...
Thanks for scarifying your time and efforts for us
Couple of month ago I wanted to port it for my lenovo phone, but I gave up (sources limited)
Anyway, to say that I went on the IRC channel to get some support, they are willing to help (even though you have to be patient, it's IRC, hundreds of people connected nobody on their computer.). So they told me that (as you noticed) the porting manual is outdated, and they are now basing their port on AOSP. Tthis should not be a problem to use CM though.
So try to get some help there, they know what you have to do
I could give a hand, I have a good internet connection. Could you post all the command history you ran, so I can try on my side?
cheers
ive got some progress, i think.
ubuntu-touch has rebased to aosp rather than cyanogenmod, which makes things a lot more difficult.
if youve ever tried to build something that is not a nexus device against aosp it is a huge pain in the ass. Bacon has a lot of cm specific parts that need to built so it is difficult to get it to build w/ aosp. but to explain where i am currently, i synced 4.4_r1, and now since aosp doesnt build kernel and bacon requires kernel to be packed up with dtb and stuff, i went to my cm11.0 repo, did my ubuntu-touch modifications to kernel, did
Code:
lunch cm_bacon-userdebug && make -j32 bootimage
which (i think) gives me the correct bootimage. What we need now is the android part. i am building inside the ubuntu-touch-4.4_r1 dir with:
Code:
lunch aosp_bacon-userdebug && make -j32 systemimage
that eventually errors out to:
Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/qcmediaplayer_intermediates/classes-full-debug.jar'. Stop.
make: *** Waiting for unfinished jobs....
im not sure why because as far as i know, ubuntu-touch shouldnt be building java parts and that is the first part of building the java stuff in a regular android build. ive never ported ubuntu-touch before. so someone let me know if ive messed something up. i dont think there is something in the device makefiles that starts the java build.
any help
just in case, are you using opensources java or oracle one? I am pretty sure it doesn't work with opensource java. But i would expect that you get the error earlier...
I'm not sure if you already have this or not but Oneplus has aosp kernel sources at https://github.com/OnePlusTech/android_kernel_oneplus_one .
konnorrigby said:
ive got some progress, i think.
ubuntu-touch has rebased to aosp rather than cyanogenmod, which makes things a lot more difficult.
if youve ever tried to build something that is not a nexus device against aosp it is a huge pain in the ass. Bacon has a lot of cm specific parts that need to built so it is difficult to get it to build w/ aosp. but to explain where i am currently, i synced 4.4_r1, and now since aosp doesnt build kernel and bacon requires kernel to be packed up with dtb and stuff, i went to my cm11.0 repo, did my ubuntu-touch modifications to kernel, did
Code:
lunch cm_bacon-userdebug && make -j32 bootimage
which (i think) gives me the correct bootimage. What we need now is the android part. i am building inside the ubuntu-touch-4.4_r1 dir with:
Code:
lunch aosp_bacon-userdebug && make -j32 systemimage
that eventually errors out to:
Code:
make: *** No rule to make target `out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar', needed by `out/target/common/obj/JAVA_LIBRARIES/qcmediaplayer_intermediates/classes-full-debug.jar'. Stop.
make: *** Waiting for unfinished jobs....
im not sure why because as far as i know, ubuntu-touch shouldnt be building java parts and that is the first part of building the java stuff in a regular android build. ive never ported ubuntu-touch before. so someone let me know if ive messed something up. i dont think there is something in the device makefiles that starts the java build.
any help
Click to expand...
Click to collapse
Just post any further errors you'll get here and I'll try to get help at devcon this weekend. Keep it up!
b8e5n said:
just in case, are you using opensources java or oracle one? I am pretty sure it doesn't work with opensource java. But i would expect that you get the error earlier...
Click to expand...
Click to collapse
im using oracle, but that isnt the problem. Ubuntu-touch takes the java out so its not there for a reason but something is causeing it to want to build the java parts..
i think im going to go ahead and fork hammerhead which i know builds, and give it 1+1 parts.
konnorrigby said:
im using oracle, but that isnt the problem. Ubuntu-touch takes the java out so its not there for a reason but something is causeing it to want to build the java parts..
i think im going to go ahead and fork hammerhead which i know builds, and give it 1+1 parts.
Click to expand...
Click to collapse
Good Idea! Let us know
I met @ciwrl at devcon, he'll come here and tell you how to squash that problem.
Great to see someone working on it.
Will bookmark this topic
News?
This is exciting to see, I'd love to try Ubuntu touch on the OPO. I have Ubuntu, but I'm mainly in Linux Mint, or Kali. Let me know if there is anyway I can assist with testing, Web storage/hosting, etc.
@konnorrigby, as @ciwrl suggested at devcon, you should disable the whole java part from the build. Ubuntu doesn't need any of it to build and run.
Wow! I really want to see Ubuntu on my OnePlus one. really Excited. Good luck guys

[Q] Building KK AOSP from Sony Sources

Hi,
As some of you might be aware of, Sony released the sources to enable building of AOSP straight from their sources for the Z2 (and other devices also).
I was just wondering if any of you has been able to build from those sources ?
I can init the repo.
I can sync the repo.
I can build the envsetup.
But then when it comes to compile the whole bunch, I always end up with an error message stating the I use a version of Make that is too young (4.1) and that I should use 3.8 instead...
Any clue on how to solve this ?
I guess it's trivial, but I have no idea how to proceed
Regards.

Atempting to build an AOSP-based rom - and I've got a question.

Hey guys...hoping someone here who is wiser than I can offer some information on how I might complete the task I am after. I've got limited knowledge in the rom-building department, but would really like to learn at least enough to "get my feet wet" so to speak, and so I'm trying hard to do just that. I would like to build a version of SlimKat based on the latest code available, and have it be compatible with our device (the VS985). I've gotten so far as to set up the Ubuntu build environment and everything, installing repo and initializing the directory with the SlimKat 4.4.4 caf (by doing repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4-caf), and finally repo sync'ing the whole thing.
I'm pretty sure that I need to eventually use the ". build/envsetup.sh" and then "brunch vs985" commands to begin the actual build process itself, but my main question now even after all the tutorials I've read is whether or not there are additional "device-specific" commands I need to run or things need to do or sync in order to make the final product compatible with our VS985. I found a tutorial on building CM11 for our device, and it talked about having to create a local_manifest.xml file and then repo sync'ing again, but this is pretty much where I got lost and where I'm still quite confused. Can anyone with prior AOSP building experience help me out with some idiot-friendly () pointers/instructions and explanations on where to go after repo sync'ing? I would seriously appreciate any help anyone can offer. Thanks!!
ohlin5 said:
Hey guys...hoping someone here who is wiser than I can offer some information on how I might complete the task I am after. I've got limited knowledge in the rom-building department, but would really like to learn at least enough to "get my feet wet" so to speak, and so I'm trying hard to do just that. I would like to build a version of SlimKat based on the latest code available, and have it be compatible with our device (the VS985). I've gotten so far as to set up the Ubuntu build environment and everything, installing repo and initializing the directory with the SlimKat 4.4.4 caf (by doing repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4-caf), and finally repo sync'ing the whole thing.
I'm pretty sure that I need to eventually use the ". build/envsetup.sh" and then "brunch vs985" commands to begin the actual build process itself, but my main question now even after all the tutorials I've read is whether or not there are additional "device-specific" commands I need to run or things need to do or sync in order to make the final product compatible with our VS985. I found a tutorial on building CM11 for our device, and it talked about having to create a local_manifest.xml file and then repo sync'ing again, but this is pretty much where I got lost and where I'm still quite confused. Can anyone with prior AOSP building experience help me out with some idiot-friendly () pointers/instructions and explanations on where to go after repo sync'ing? I would seriously appreciate any help anyone can offer. Thanks!!
Click to expand...
Click to collapse
It all depends. If the source you grabbed does not have anything specific for the vs985, then the build command itself won't work. The build scripts and configuration has to be modified to add that build command and even then, it means going into the source and making whatever changes you need to make it specific to the VS985.
Since it's AOSP, it should work no matter what, but that means anything that requires vs985 specific calls to make it work aren't there.
It's not just a magic command that makes it work. You have to go in and figure out what isn't and is working and make the necessary changes.
I'm assuming you are a programmer? If not, better learn.
iBolski said:
It all depends. If the source you grabbed does not have anything specific for the vs985, then the build command itself won't work. The build scripts and configuration has to be modified to add that build command and even then, it means going into the source and making whatever changes you need to make it specific to the VS985.
Since it's AOSP, it should work no matter what, but that means anything that requires vs985 specific calls to make it work aren't there.
It's not just a magic command that makes it work. You have to go in and figure out what isn't and is working and make the necessary changes.
I'm assuming you are a programmer? If not, better learn.
Click to expand...
Click to collapse
I see. I have had some very basic programming exposure, but I wouldn't consider myself anywhere near skilled and it's been a while haha. Well I do appreciate the info and I'll probably be best off leaving this to those much smarter than I Thanks!
ohlin5 said:
I see. I have had some very basic programming exposure, but I wouldn't consider myself anywhere near skilled and it's been a while haha. Well I do appreciate the info and I'll probably be best off leaving this to those much smarter than I Thanks!
Click to expand...
Click to collapse
I don't want to scare you off. If you feel like you want to learn something new, then don't hold back. I just wanted to let you know that it's not just a simple "grab the source from another phone and compile it for the G3". That's why you'll see different ROMs for each of the different phones. But, in the case of this phone, you all have to add the bump to the ROM in order for it to work and that is specific to each version of the G3. You can't take a bumped D850 (AT&T) ROM and just flash it onto a Verizon G3 (VS985). It won't work.
Now, bumping is not that hard as one of the posts on how to compile a ROM for the G3 gives you the instructions to "bump" your ROM, which is done after you've compiled it. Where it gets more difficult and requires some more tech savy and programming knowledge, is how to modify the ROM to take advantage of the hardware specific to the G3. The AOSP code pulled down for say CM11/CM2 is just that - AOSP. What you were doing was taking a completely different ROM's base source and trying to make that work on the G3. Not impossible by any means, but would require more than just a basic understanding of programming. You also need to understand how the Android OS works, etc. Again, not a trivial task by any means, but also, could end up being something that challenges you to learn more and eventually become a contributor to the G3 dev forums.
I myself am a programmer. I've been learning Android app development but I also wanted to delve into ROM building and was grateful to see the post on how to do so, so I'll be looking into that when I can, but I know it's not an trivial thing to master, but I'm a persistent person and most of my computer programming I learned was self taught when I was in high school on an Apple ][+ and //e. Those were the days when Apple wasn't so closed. Woz had a hand in wanting to keep it open - Jobs didn't. We all know who won on that count.
Any ways, if you are up to a challenge and like solving problems, programming is definitely the way to go.
I've been trying to build my own just for fun as well, but after I brunch, it doesn't create a zip.
I've been following this guide: http://forum.xda-developers.com/lg-g3/general/guide-how-to-build-cyanogenmod-11-d850-t2971538
I feel like it has something to do with my local_manifest.xml, but it's probably because I tried building CM12 and it's not as easy as just changing the branch...
Probably just going to start over from scratch with CM11 and see how it goes.

Categories

Resources