Cyanogenmod Compiler (CMC) GUI
Build cyanogenmod with a gui.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Known issues:
Found bugs to fix v0.6:
*Please any issue that should arise, I apologize in advanced. Please let me know with as much detail as possible to replicate the issue and I will resolve it.
Please read:
I have thought maybe times different ways I was going to go about this. Ads, donate version, paid app, etc. I choose to keep the project open, as that's how I roll. I do ask that if you enjoy the application that you try to donate something. This was my first gui project and took a lot of time and effort to even get it to where it is right now. I hope everyone enjoys the app as much as I enjoy working on it.
Install:
NOTE: Please don't try to install at this very moment, the PPA respositories are being updated and you will have issues if you do. Should be all set in a few. I will unstrike the comments below onces it is all good to sync up.
Note: If you are using the old ppa then look at post # 2 on how to remove it before adding this.
Code:
sudo apt-add-repository ppa:lithid/ppa
sudo apt-get update
Code:
sudo apt-get install cmcompiler
Source code | Bugs | Answers
Build info
Enjoy some signatures from SavocaFTW:
|
|
You can follow me on google+ I tend to talk about it a bit on there as well.
CMCompiler Notes:
Building jellybean/CM10
Please understand that cm10 is still under very heavy development. This means even the few working devices will have issues compiling cm10. This is mainly for reasons of setting up the device trees with proper files to extract proprietary files. You may need to implement this yourself if you wish to compile cm10. I will make some notes if people come up with quick fixes to devices properties, you can also look at the cm9 branch for the extract-files.sh and put it into the device folder, that would allow the CMCompiler to extract the files for you. Just please keep that in mind.
Thanks!
Previous installation of cmcompiler-daily
If you are using a previous installation of the cmcompiler-daily this will need to be removed before installing this.
Code:
sudo apt-get purge cmcompiler-daily
Full repo clean-up
Check out this post for a full clean-up of the repo if need be.
http://forum.xda-developers.com/showpost.php?p=29148373&postcount=593
awesome looking forward to this, thanks man!
when we can isntall it?
Jwtiyar said:
when we can isntall it?
Click to expand...
Click to collapse
When is ready
I am not 100% sure, I am waiting for launchpad to import my github repo. I keep checking and its not being imported. You could always clone the github repo and run the package.sh script it will auto compile the package and install it for you.
Finally launchpad is building the packages now for the distros. Sorry for the delay. Something I didn't expect.
https://code.launchpad.net/~lithid/+recipe/cmcompiler
so is this good to go now since it looks like the sync happened
CheesyNutz said:
so is this good to go now since it looks like the sync happened
Click to expand...
Click to collapse
Yea everything is built now, have at it.
KoolSavas95 said:
What can I do if my device isnt listed in the compiler?
Sent from my LG-P990 using xda premium
Click to expand...
Click to collapse
Currently, this doesn't support that.
getting an error
CheesyNutz said:
getting an error
Click to expand...
Click to collapse
The repo script isn't correct for some reason.
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/local/bin/repo
lithid-cm said:
The repo script isn't correct for some reason.
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/local/bin/repo
Click to expand...
Click to collapse
Code:
[email protected]:~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 20774 100 20774 0 0 19529 0 0:00:01 0:00:01 --:--:-- 25615
[email protected]:~$ chmod a+x ~/repo
[email protected]:~$ sudo mv ~/repo /usr/local/bin/repo
getting this as well
[email protected]:~$ repo init -u https://github.com/CyanogenMod -b ics
fatal: 'git' is not available
fatal: [Errno 2] No such file or directory
Please make sure git is installed and in your path.
[email protected]:~$
never mind i seem to have got it working
KoolSavas95 said:
Will this ever be supported?
Sent from my LG-P990 using xda premium
Click to expand...
Click to collapse
I plan on it for my next release. The GUI is being rewritten in a very positive way to see errors that will generate from using unsupported devices.
Here is a rough draft of a working version I am working on. It will have support to add in unofficial devices. Gerrit support for committing patches back up to cyanogenmod, auto push to sdcard, building specific app from build to test. Ect ect.
http://i.imgur.com/mVDjn.png
Sent from my Galaxy Nexus using xda premium
lithid-cm said:
I plan on it for my next release. The GUI is being rewritten in a very positive way to see errors that will generate from using unsupported devices.
Here is a rough draft of a working version I am working on. It will have support to add in unofficial devices. Gerrit support for committing patches back up to cyanogenmod, auto push to sdcard, building specific app from build to test. Ect ect.
http://i.imgur.com/mVDjn.png
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Eat <3
(For auto install)
Sent from my GT-P1000
cdesai said:
Eat <3
(For auto install)
Sent from my GT-P1000
Click to expand...
Click to collapse
Never used the cm eat. Figured it needed cwm recovery for it to work or am I wrong?
Sent from my Galaxy Nexus using xda premium
lithid-cm said:
Never used the cm eat. Figured it needed cwm recovery for it to work or am I wrong?
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Yea you do, need extendedcommands to be supported.
It pushes zip to /sdcard and writes --update-package=/sdcard/blah.zip to /cache/recovery/command
Sent from my GT-P1000
cdesai said:
Yea you do, need extendedcommands to be supported.
It pushes zip to /sdcard and writes --update-package=/sdcard/blah.zip to /cache/recovery/command
Sent from my GT-P1000
Click to expand...
Click to collapse
For sure, which is why I never used it. That would be easy enough to implement.
Sent from my Galaxy Nexus using xda premium
sweet ! a new toy to try!
uhm...how long does this really take?
Sorry guys, i need a smoke.
This is awesome! cheers to you!
Related
Cyanogenmod Compiler (CMC) GUI
Build cyanogenmod with a gui.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Known issues:
- Currently no multi-threading, which means when you press sync or compile, there is no loading bar (app looks like its failing, its not.). I am working on that.
(If you want to watch the output of the sync or compile, just open a terminal and type "cmc", I log all to the system.)
- When locking the CMCompiler to the unity launcher you have to logout and log back in refer: ubuntu bug 916098
- Currently there isn't great error logic and dialogs to warn you about everything. Something that is still being working on. Just run from the terminal if you have an issue that you need to report.
- Missing make clean and make installclean. These will be added in the future.
Found bugs to fix v0.1:
- No "/" at the end of custom repo string path.
- Error checking for compile start
*Please any issue that should arise, I apologize in advanced. Please let me know with as much detail as possible to replicate the issue and I will resolve it.
Please read:
I have thought maybe times different ways I was going to go about this. Ads, donate version, paid app, etc. I choose to keep the project open, as that's how I roll. I do ask that if you enjoy the application that you try to donate something. This was my first gui project and took a lot of time and effort to even get it to where it is right now. I hope everyone enjoys the app as much as I enjoy working on it.
Install:
Note: If you are using the old ppa then look at post # 2 on how to remove it before adding this.
Code:
sudo apt-add-repository ppa:lithid/ppa
sudo apt-get update
Install daily dev builds:
Code:
sudo apt-get install cmcompiler-daily
Install beta builds:
Note: Not yet available.
Code:
sudo apt-get install cmcompiler-beta
Install stable builds:
Note: Not yet available.
Code:
sudo apt-get install cmcompiler
Note: You cannot have daily and stable at the same time. You can only use either or.
Source code | Bugs | Answers
Build info:
daily-builds
Enjoy some signatures from SavocaFTW:
You can follow me on google+ I tend to talk about it a bit on there as well.
Cyanogenmod Compiler (CMCompiler) HALP!
Error Codes:
Error: Need to sync first - After choosing compile, the program didn't find the needed .repo folder in your repo path. This assumes you never ran sync, so you never downloaded the code. You could have also renamed the .repo folder to something else, which would cause this error as well.
Error: device not found - Your device was not found in the repo, might be unsupported.
Error: Adb isn't running - First time running compile, you will need to have your phone connected and ADB running in order to pull off needed files from your phone.
Error: Extract-files came back False - This means a script called extract-files.sh failed to pull off those needed files from your phone.
Error: Compile error please check - This indicates that your build failed. You will need to run cmcompiler via terminal to get why.
Error: Repo Script needs setup - You don't have the repo script installed. Install it.
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/repo
chmod a+x ~/repo
sudo mv ~/repo /usr/local/bin/repo
Error: No device configured - Appears there is no device configured, just select one from the setup menu.
Removing old ppa:
Code:
sudo apt-get remove cmcompiler-daily
sudo apt-get install ppa-purge
sudo ppa-purge ppa:long-jeremie/ppa
About Cmcompiler CLI
** If you are still using the CLI version, I have not updated it in sometime. I might get back to that but for right now the gui is my main focus. Please understand. You could always clone and make edits to the CLI here
This changes everything, again.
Great idea. Thanks.
Awesome! Thank you very much
this is neat! good job
Is there any support for pulling propriety files from a new phone or is that too specific?
Sent from my M9300 using xda premium
Jamin13 said:
Is there any support for pulling propriety files from a new phone or is that too specific?
Sent from my M9300 using xda premium
Click to expand...
Click to collapse
Currently there is only support for devices from within the CM repo. There could be a plugin created though for specific devices that are not "supported" by cm. You would still need someone to write that plugin for that device since prop files are different for each device.
lithid-cm said:
Software for compiling on ubuntu:
32 bit:
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
64 bit:
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
Click to expand...
Click to collapse
lib32readline5-dev has been replaced by lib32readline-gplv2-dev on 11.10
And "gcc-4.3-multilib g++-4.3-multilib" aren't used from 11.04 and up - not needed.
Nice work though!
lithid-cm said:
If you are wondering how you can use this software its easy. You can clone my repo for now. and run the CMCompiler script:
Code:
git clone https://[email protected]/lithid/CMC.git
cd CMC
./CMCompiler
Click to expand...
Click to collapse
Hmmmm.
Code:
git clone https://github.com/lithid/CMC.git
cd CMC
./CMCompiler
Now we're talkin'!
Novek said:
lib32readline5-dev has been replaced by lib32readline-gplv2-dev on 11.10
And "gcc-4.3-multilib g++-4.3-multilib" aren't used from 11.04 and up - not needed.
Nice work though!
Click to expand...
Click to collapse
Updated second post. Thanks!
aorth said:
Hmmmm.
Code:
git clone https://github.com/lithid/CMC.git
cd CMC
./CMCompiler
Now we're talkin'!
Click to expand...
Click to collapse
I fixed that. No idea why I put that in their like that. Thanks!
lithid-cm said:
Currently there is only support for devices from within the CM repo. There could be a plugin created though for specific devices that are not "supported" by cm. You would still need someone to write that plugin for that device since prop files are different for each device.
Click to expand...
Click to collapse
Thanks.
If I could just figure out how to do it normally, I'd be fine.
unfortunately I can't seem to find anything about doing that.
Sent from my M9300 using xda premium
TEH KANGENAT0rZ!!!!1on1on1oneone!!
Jamin13 said:
Thanks.
If I could just figure out how to do it normally, I'd be fine.
unfortunately I can't seem to find anything about doing that.
Sent from my M9300 using xda premium
Click to expand...
Click to collapse
If you are looking to build on a new device. Go to cms github and grab a device tree from a similar device. Then you can see how everything is working... gather the stuff you need along with the device specific edits and hours and hours of trial and error. You will eventually get it... Its a learning process.
optedoblivion said:
TEH KANGENAT0rZ!!!!1on1on1oneone!!
Click to expand...
Click to collapse
King Kang?
This looks awesome! Thank you! I'm gonna try this out sometime this week. Thanks again!
This is a really cool project. For those of us who are uninitiated in using Git/Repo, will this make "making changes" to CM easy for us? Obviously, I see "Update Repo" as an option, but it will really take care of the rest for us?
Shidell said:
This is a really cool project. For those of us who are uninitiated in using Git/Repo, will this make "making changes" to CM easy for us? Obviously, I see "Update Repo" as an option, but it will really take care of the rest for us?
Click to expand...
Click to collapse
As of this moment. This doesn't support the needed bits for when you need to commit the code back to cm gerrit. This is something I am working on for my stable release. At this current state you can download the repo, assign a device, compile and update without any work needed done by the end user. When the rom is done downloading it gets placed in your home directory. I am not sure if that answered the question or not...
Soon there will be an option to make changes to the repo. This would enable repo start it would wait until you press enter again once changes are done and then commit them with repo upload. Of course this is still being worked out though.
Awesome--yeah, that answers my question. Thanks!
Nice job. Thank you for it.
Hi guys I am kind of a noob when it comes to linux and compiling and have hit a brick wall. I have this posted here in Chef Central and in general android Q&A so hopefully someone has an idea. I have been trying to compile CM9 for about three days now and no matter what I do I get this output. It is 95% of the time after the "install libwebcore.so" line.
Code:
install: out/target/product/maguro/system/lib/libwebcore.so
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.util.IntList.(IntList.java:87)
at com.android.dx.rop.code.RopMethod.calcPredecessors(RopMethod.java:154)
at com.android.dx.rop.code.RopMethod.labelToPredecessors(RopMethod.java:95)
at com.android.dx.dex.code.RopTranslator.pickOrder(RopTranslator.java:352)
at com.android.dx.dex.code.RopTranslator.translateAndGetResult(RopTranslator.java:212)
at com.android.dx.dex.code.RopTranslator.translate(RopTranslator.java:106)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:293)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87)
at com.android.dx.command.dexer.Main.processClass(Main.java:483)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
at com.android.dx.command.dexer.Main.access$400(Main.java:67)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
at com.android.dx.command.dexer.Main.processOne(Main.java:418)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
at com.android.dx.command.dexer.Main.run(Main.java:206)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:95)
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] Error 3
Before I tried to compile CM I did successfully compile AOSP for my Gnex. I have searched and tried everything I could find. I've tried these values in the common.py file and just about every combo I could think of per recommendations I found online.
Code:
check = (sys.maxsize > 2**32)
if check is True:
cmd = ["java", "Xmx2048m", "-jar",
os.path.join(OPTIONS.search_path, "framework", "signapk.jar")]
else:
cmd = ["java", "-Xmx1024m", "-jar",
os.path.join(OPTIONS.search_path, "framework", "signapk.jar")]
I have also checked my swap and as far as I can tell its there and working but it seams to never be used. I have tried all the commands I could find online to make sure it was enabled but Idk what else to try or check.
Also I am using a quad core AMD with 6GB of RAM if anyone is curious. Any and all advice/ideas would be very much appreciated at this point I am at a complete loss. Thanks for looking and helping guys.
EDIT:I just finished a successful build of AOSP for my galaxy nexus so I am really confused as to why I run out of memory for CM9.
Sky-
Try something for me please.
open your terminal. Can you run this please?
test.py
Code:
#!/usr/bin/env python
import sys
import platform
p = platform.dist()
distro = p[0]
version = p[1]
name = p[2]
check = (sys.maxsize > 2**32)
print "Distro: %s\nVersion: %s\n Name: %s\n 64bit OS: %s" % (distro, version, name, check)
Code:
python test.py
Alright I just got home from work so just give me about 30 mins or so and I'll give it a try.
Sent from my GT-N7000 or Galaxy Nexus
I tried the commands you posted here and either I am missing some stuff that should be installed on my computer or I am to much of a noob to enter the commands correctly. Here was my output as I entered the commands.
Code:
[email protected]:~$ test.py
test.py: command not found
[email protected]:~$ #!/usr/bin/env python
[email protected]:~$ import sys
[email protected]:~$ import platform
[email protected]:~$
[email protected]:~$ p = platform.dist()
bash: syntax error near unexpected token `('
[email protected]:~$ distro = p[0]
distro: command not found
[email protected]:~$ version = p[1]
version: command not found
[email protected]:~$ name = p[2]
No command 'name' found, did you mean:
Command 'named' from package 'bind9' (main)
Command 'namei' from package 'util-linux' (main)
Command 'lame' from package 'lame' (multiverse)
Command 'cname' from package 'cfs' (universe)
Command 'uname' from package 'coreutils' (main)
Command 'mame' from package 'sdlmame' (multiverse)
name: command not found
[email protected]:~$
[email protected]:~$ check = (sys.maxsize > 2**32)
bash: syntax error near unexpected token `('
[email protected]:~$
[email protected]:~$ print "Distro: %s\nVersion: %s\n Name: %s\n 64bit OS: %s" % (distro, version, name, check)
bash: syntax error near unexpected token `('
[email protected]:~$ python test.py
python: can't open file 'test.py': [Errno 2] No such file or directory
[email protected]:~$
Sorry if I entered them incorrectly, I am learning linux as fast as I can. Should I have entered them differently?
Sky-
Haha..yes...you needed to put everything from the # all the way to the end of check) in a file called test.py...then enter python test.py in your command line
Use your editor of choice
Don't worry, everyone was new once.
Sent from my SGH-I757M using xda premium
reallybigabe said:
Haha..yes...you needed to put everything from the # all the way to the end of check) in a file called test.py...then enter python test.py in your command line
Use your editor of choice
Don't worry, everyone was new once.
Sent from my SGH-I757M using xda premium
Click to expand...
Click to collapse
Thank you sir. I'm such a dope . I'll do that tonight when I get home from work.
Sent from my GT-N7000 or Galaxy Nexus
sorry about that, I didn't know you were new. Apologies.
Copy and paste these commands.
Command 1:
Code:
(cat << EOF) > $HOME/test.py
#!/usr/bin/env python
import sys
import platform
p = platform.dist()
distro = p[0]
version = p[1]
name = p[2]
check = (sys.maxsize > 2**32)
print "Distro: %s\nVersion: %s\n Name: %s\n 64bit OS: %s" % (distro, version, name, check)
EOF
press [enter]
Command 2:
Code:
chmod a+x $HOME/test.py
Command 3:
Code:
python $HOME/test.py
Thanks for the beginners guide lol, it worked now. Here was the output of that command.
Code:
[email protected]:~$ python $HOME/test.py
Distro: Ubuntu
Version: 10.04
Name: lucid
64bit OS: True
[email protected]:~$
That's what you were looking for correct?
If I were you I would run a mem check on your memory. There shouldn't be any reason that your getting those errors.
I have 8 gigs and I never have an issue.
lithid-cm said:
If I were you I would run a mem check on your memory. There shouldn't be any reason that your getting those errors.
I have 8 gigs and I never have an issue.
Click to expand...
Click to collapse
How would I go about doing that? Sorry for the noobish questions I just have never had to do this before on any of my PC's. Its just so weird because I'm compiling AOSP as we speak. Just wish it was CM lol.
EDIT: My bad I can do it with the ubuntu install dvd I have.
Sent from my GT-N7000 or Galaxy Nexus
Also if you dont mind me asking lithid, what version of linux do you use to build?
skyhigh2004 said:
Also if you dont mind me asking lithid, what version of linux do you use to build?
Click to expand...
Click to collapse
ubuntu 12.04 64bit
Well I am running a mem test now. If it all goes just fine I think I'm gonna do a fresh install of 12.04 and reset everything up and try again. I'm at a complete loss .
Sent from my GT-N7000 or Galaxy Nexus
Well my computer passed the memory rest with zero errors. So I'm installing 12.04 on a fresh format so hopefully I have better luck later tonight or tomorrow getting it to build.
Sent from my GT-N7000 or Galaxy Nexus
skyhigh2004 said:
Well my computer passed the memory rest with zero errors. So I'm installing 12.04 on a fresh format so hopefully I have better luck later tonight or tomorrow getting it to build.
Sent from my GT-N7000 or Galaxy Nexus
Click to expand...
Click to collapse
I am really interested in this. Please keep this post updated with your success!
lithid-cm said:
I am really interested in this. Please keep this post updated with your success!
Click to expand...
Click to collapse
I'll definitely keep you posted. I'm syncing tonight, then hopefully I'll set it up to build when I leave for work in the morning and I'll have good news when I get off in the afternoon.
Sent from my GT-N7000 or Galaxy Nexus
Well all I can say is ***k yeah. I guess reinstalling ubuntu and upgrading to 12.04 in the process cured my computer . I still have no idea as to why I couldnt build before but at least it works now.
Code:
Package complete: /home/skylar/cm9/out/target/product/maguro/update-cm-9.0.0-RC0-maguro-UNOFFICIAL-signed.zip
097429908172684449fb5a3fe796c290 update-cm-9.0.0-RC0-maguro-UNOFFICIAL-signed.zip
[email protected]:~/cm9$
Now to learn how to cherry pick
skyhigh2004 said:
Well all I can say is ***k yeah. I guess reinstalling ubuntu and upgrading to 12.04 in the process cured my computer . I still have no idea as to why I couldnt build before but at least it works now.
Code:
Package complete: /home/skylar/cm9/out/target/product/maguro/update-cm-9.0.0-RC0-maguro-UNOFFICIAL-signed.zip
097429908172684449fb5a3fe796c290 update-cm-9.0.0-RC0-maguro-UNOFFICIAL-signed.zip
[email protected]:~/cm9$
Now to learn how to cherry pick
Click to expand...
Click to collapse
Easy man.
Click cherry pick.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click copy
change directories in your repo path corresponding to the change. In this example frameworks_base from your repo path.
Code:
cd frameworks/base
paste in that command you just copied. press enter and you have just cherry picked to test a new cm commit.
That sounds very easy. Thanks again for a noob tutorial . Also what would you do to remove the cherry pick if you didnt like the commit? Is that path just added to the local manifest just like device trees and kernels sources?
Sent from my GT-N7000 or Galaxy Nexus
skyhigh2004 said:
That sounds very easy. Thanks again for a noob tutorial . Also what would you do to remove the cherry pick if you didnt like the commit? Is that path just added to the local manifest just like device trees and kernels sources?
Sent from my GT-N7000 or Galaxy Nexus
Click to expand...
Click to collapse
While inside the same path you applied the cp.
git reset --hard HEAD
That will reset to the last cm commit. You can do specific files as well by appending the file path after the command.
Sent from my Nexus S 4G using xda premium
****NOOB GUIDE ON HOW TO BUILD CM OR CM BASED ROM FROM SOURCE FOR S2****
****FULL SUPPORT ****
So guys from the concept of sharing and caring ..am going to share the way through which i have succeeded to compile my first rom based on omni source.
I will try to make this guide as much as easy ..so dont worry..and feel free to ask any doubt if u have..
Note: Most of the instructions are fit for Ubuntu running normally on any PC and not specific to Virtual Box
Things Required:
**Computer/Laptop with decent amount of ram (min 6gb)and also decent storage
**Internet connection(now thats obvious)
**Some knowledge about linux commands..like basic command such as cd for “change directory”,(anyways even if u dont know just copy and paste the codes given in the thread
**Last but not least "U must have android mobie" not an iphone (kidding)
This Guide will cover below things:
** How to install Ubuntu on virtual box
**How to set up Build environment
**How to build and compile rom
**transfer the zip from ubuntu to your phone
So lets begin
How to install ubuntu on Virtual box:
1. Download ubuntu from HERE(download ubuntu 12.04 LTS 64 bit)if u are having system with 2gb then pls dont try to compile
2. Download virtual box from HERE(download the latestwindows version x86/amd64)
3. After downloading vm click on it and select "NEXT"
4.Choose not to install USB support, networking, or Python support. Do this by clicking the grey icon near each option and selecting the red X or “Entire feature will be unavailable”. Then click “Next” to continue.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
5.Uncheck the Quick Launch Bar checkbox and click “Next” to continue
6.Click install and finish.
7.Now click the new button at the top to create a new virtual machine.
8.Give your virtual machine a name and select the operating system you’ll be running(for e,g select version as ubuntu 64 if u are on 64bit os). Click “Next”.then slect create virtual hard drive now
9.now type the amount of memory ..(4gb is absolute minimum)
10.Click “Next” to create a new virtual hard disk, then click “Next” again
11.Select dyanmically allocated storage
12.now type the amount of storage(200 gb is minimum) and click create .
13.Select your new virtual machine. Once you've done this, click the “Settings” button.
14.Click “Storage” tab and Click the “CD/DVD icon" having "+" on it and select ISO to mount.
15.Click system on the left and Choose boot order and keep CD/DVD on the top as first priority.
16.Now close the settings window and Select your virtual machine. Then click the “Start” button
15.Now ubuntu will start and select the language
16.select install ubuntu
17.click continue and select the first radio button ..then hit continue again and install now(wait for some time)
18.Go through all the steps and finally u should have the below screen.(if u have got that screen then u are ok to proceed ahead )
16.So i assume you have got the ubuntu desktop .
17.click on ubuntu software centre avaliable on the left side and select edit/software sources
18.click on update tab and follow the screenshot below
19.After couple of min u should see update box is dancing on the left side , click that and install all the update packages
How to set up build environment:
1. Go to THIS awesome thread , I Bet u would not have any problem in setting up build environment if u had followed it correctly..
2.If u have any troubles in setting up build env then u are free to ask/post in this thread.
3.You can also set up adb and fast boot very easily instead of sdk tools (but remember it does not mean u can skip downloading sdk tools, you have to download all the packages .
Set up adb and fastboot with ease
4.you only need to download the below packages
JDK 6
Python
Git 1.7
Android SDK
ia32libs
So i assume you have set up your build environment successfully ..
How to build and compile :
1.We will install build packages needed to compile the rom.
2.Open your ubuntu terminal by pressing ctrl+alt+t
3.As of now u cannot copy/paste text between ubuntu and your windows ..so we will be installing guest addition cd image which u can install by clicking on Devices/install guest addition cd image .
4.it will install now , after that select Devices/share clipboard/bidirectional ..now reboot your ubuntu by typing the below code in terminal
Code:
sudo reboot
5.Now copy paste the below code in terminal to install build packages
Code:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Code:
sudo apt-get update
Code:
apt-get install g++-4.7 gcc-4.7
For 32-bit & 64-bit systems
Code:
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool
For 64-bit only systems
Code:
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib
6.You should not have any problem in installing the above packages if u had followed it correctly.
7.Now Create the directories
Code:
mkdir -p ~/bin
8.Install the repo command
:
Code:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
9.Important thing now is u have to put the bin directory in your path of execution..to do so ..copy and paste the below code
Code:
export PATH=${PATH}:~/bin
10. type
Code:
gedit ~/.bashrc
and now paste
Code:
export PATH=${PATH}:~/bin
11.save it by pressing ctrl+x
12. now we have to create a directory in which our source will get downloaded
Code:
mkdir -p dirname
(type the directory name )
Code:
cd dirname
13.Now its time for us to initialize the repository
Syntax :
Code:
repo init -u url -b branch
for e.g am going to fetch omni source..so i wil type as
Code:
repo init -u https://github.com/omnirom/android.git -b android-4.4
for pacman
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
for slimbean( google, exynos and non qcom devices)
Code:
repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4
slimbean(for qcom devices which are using CodeAuroraForum trees)
Code:
repo init -u git://github.com/SlimRoms/platform_manifest.git -b kk4.4-caf
for cm
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
14.then go to THISanother awesome thread to understand about the local manifest ,manifest and many more..(this thread is highly recommended to those who have poor internet connection)
15.IF u are lazy and dont want to go throu the above thread then u can skip and follow the below steps.
16.type
Code:
repo sync -c -j4
Note: if u have low bandwidth the use -j2 instead of -j4 and if u have good internet connection use -j16 instead of -j4
repo sycn -c will download only the current version so it saves time for u
17.repo sync will take more time..(for me it took 3 days to complete because my internet speed was 50kb/sec
18.After repo sync is done u have to fetch some additional repoistory using local_manifest.xml
Code:
<remote fetch="https://github.com/DonkeyCoyote" name="donkey" />
<project name="DonkeyCoyote/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="android-4.4" />
<project name="android_device_samsung_i9100" path="device/samsung/i9100" remote="omnirom" revision="android-4.4" />
<project name="android_device_samsung_galaxys2-common" path="device/samsung/galaxys2-common" remote="omnirom" revision="android-4.4" />
thanks to chasmodo
note: above is an example for omni rom...if u are fetching aokp,pac etc then u have to change the path , remote , revision accordingly
19.Let's configure ccache too. It will reduce the build time to 40% after first build
Code:
echo "export USE_CCACHE=1" >> ~/.bashrc
Code:
directoryname/prebuilts/misc/linux-x86/ccache/ccache -M 25G
25G means it will use upto 25 gb of disk space for ccaching. Atleast 10 gb is recommended.
20.Now its time for compiling .simply type
Code:
. build/envsetup.sh
Code:
brunch i9100
21.it may take some time depending upon your pc/laptop configuration
22.u should get package complete at the end..(unfortunately i could not save screenshot of that..but soon s.s will be posted when i repo sync again)
23.If yes then u have successfully built your rom ..congrats:good:
24.now how to transfer that zip to the phone for flashing?..follow the below steps
how to transfer files from ubuntu to your phone:
1: Download and install the AirDroid app to your Android device.
2: Launch the app and read the starter guide. As soon as you’re done, click “Start”.
3: Take note of the web address that is being shown on the app. You’ll need that web address to access your smartphone through your computer’s web browser.
4.now type the code in ubuntu browser and there u go ...u have connected your phone to ubuntu.
5.transfer the file by selection files/sdcard/upload
6.Done
Hope this guide helps u the most.
IF U HAVE ANY QUESTION FEEL FREE TO POST ..cheers.
GOOD LUCK:good:
Credits:
@Myself5 (this guy really deserves it)
@chasmodo @engloa
google
Hit the thanks button if u think it deserves to have..:highfive:
Nice!
-Grift- said:
Nice!
Click to expand...
Click to collapse
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
corruptionfreeindia said:
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
*Browser crashes just before you get to post* FUUUUUU:laugh:
Will Surely try................... Great effort thou.....
Although this is of immense help, IMO this shows the huge amount of work put out by our ROM developers.
So, thank you @cfi and hopefully some new devs will grow out of this.
Sent from my GT-I9100 using XDA Premium 4 mobile app
corruptionfreeindia said:
Thanks buddy.
Took me 3hr to write.. Phew
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Sun90 said:
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Click to expand...
Click to collapse
Min hardware requirement of what mate?
if you mean virtualbox, you can check this out
engloa said:
Min hardware requirement of what mate?
if you mean virtualbox, you can check this out
Click to expand...
Click to collapse
The system (computer) hardware requirement ma8
Thanks "again" for a "monster" thread
Sun90 said:
It took me 3hr to read and Digest Phew!!U should also Add the Min Hardware requirement to the guide
Click to expand...
Click to collapse
Sure buddy..I will.
Am already tired.
Have to go college tomo
Sent from my GT-I9100 using Tapatalk 2
-Grift- said:
*Browser crashes just before you get to post* FUUUUUU:laugh:
Click to expand...
Click to collapse
Lol
Sent from my GT-I9100 using Tapatalk 2
Sun90 said:
The system (computer) hardware requirement ma8
Click to expand...
Click to collapse
You could (theoretically) build with almost everything where you get Linux to work on but remember, it will then finish today's nightly in 3 days Also there are some people reporting compiling crashes when you don't have enough RAM (@corruptionfreeindia was one of them ).
Greetings
Myself5
Myself5 said:
Also there are some people reporting compiling crashes when you don't have enough RAM (@corruptionfreeindia was one of them ).
Greetings
Myself5
Click to expand...
Click to collapse
haha..;D
Great thread,thanks
keep it up:good::good:
Set up ADB and Fastboot for Ubuntu with ease
http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
After installing it this way you can excess ADB or Fastboot commands through the terminal from anywhere. This integrates the commands perfectly
-Grift- said:
Set up ADB and Fastboot for Ubuntu with ease
http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
After installing it this way you can excess ADB or Fastboot commands through the terminal from anywhere. This integrates the commands perfectly
Click to expand...
Click to collapse
Buddy..thanks.
Looks so easy.
Adding it to the op if u dont mind.
Biftor said:
Great thread,thanks
keep it up:good::good:
Click to expand...
Click to collapse
Thanks biftor.
Sent from my GT-I9100 using Tapatalk 2
corruptionfreeindia said:
Buddy..thanks.
Looks so easy.
Adding it to the op if u dont mind.
Thanks biftor.
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Im cool with that
Nice guide.. very lucid and simple language. easy to learn. Thanks!
awesome it will b very helpful.... such a nice thread you wrote
Here is an python3 script named AAC that build ROM for you, yes.
How to get this ?
Download it on my Github : AndroidAutoCompiler
How to run it ?
Just type
Code:
python3 aac.py
in your Terminal.
Progress of the Project :
06 Nov 2015 : First script & First Upload
Next build will integrate an graphical interface, powered by TKinter. Here is a tease :
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Issues :
\
Don't forget to contribute :
Donate with Paypal
Version Infos
Status : Very very pre-alpha
Created 061115
Last Modif 191115
AndroGeek974 said:
Hi there,
I've just coded a script in Python3 to build ROMs more easily and decided to share it here.
It's very basic but I think it can help people that wants to start ROM development. Also it able you to save a lot of times.
Just put the script at the root of your linux machine and run it with :
Code:
python3 aac.py
...and follow instructions.
That's all !
Don't hesitate to test it.
You can download the script on my Github : https://github.com/AndroGeek974/AndroidAutoCompiler
AndroGeek.
Click to expand...
Click to collapse
I've forked your script and am adding some more ROMs, default statements and also fixing some typos. Will let you know when everything's done and I'm ready to do a commit.
Sent from a Cool Phone stuck with crappy KingUser
MSF Jarvis said:
I've forked your script and am adding some more ROMs, default statements and also fixing some typos. Will let you know when everything's done and I'm ready to do a commit.
Sent from a Cool Phone stuck with crappy KingUser
Click to expand...
Click to collapse
That's cool ! Waiting for your update.
AndroGeek974 said:
That's cool ! Waiting for your update.
Click to expand...
Click to collapse
Just one thing - I can't seem to find the link to AOKP's KitKat branch. Can you just look it up and post it here ???
Sent from a Cool Phone stuck with crappy KingUser
AndroGeek974 said:
That's cool ! Waiting for your update.
Click to expand...
Click to collapse
https://github.com/MSF-Jarvis/AndroidAutoCompiler
I have to leave for a few days so I've made an incomplete commit for you to merge and build upon.
Sent from a Cool Phone stuck with crappy KingUser
MSF Jarvis said:
https://github.com/MSF-Jarvis/AndroidAutoCompiler
I have to leave for a few days so I've made an incomplete commit for you to merge and build upon.
Sent from a Cool Phone stuck with crappy KingUser
Click to expand...
Click to collapse
Thanks man, I've just seen your update, going to work on a graphical interface this night.
Really appreciate your help.
AndroGeek974 said:
Thanks man, I've just seen your update, going to work on a graphical interface this night.
Really appreciate your help.
Click to expand...
Click to collapse
Thanks. Just managed to secure internet but cant code from this phone. Maybe i'll be able to help you out with the graphical ui later.
AndroGeek974 said:
Thanks man, I've just seen your update, going to work on a graphical interface this night.
Really appreciate your help.
Click to expand...
Click to collapse
Please keep pushing changes regularly to the Github repo do that I can stay up to date with your sources and keep working on my contributions as well.
P.S. I just had an idea to upload a index file with names of devices and their code names for noobs of course. We can then proceed to also including which ROMs actually support the device. The devices can first be the popular ones, and if the script gets famous :fingerscrossed: , we can accept requests for device inclusion.
Dont worry about implementation, if you aren't familiar with file handling in Python, I'll do it.
Sent from my HTC Explorer X using Tapatalk
MSF Jarvis said:
Please keep pushing changes regularly to the Github repo do that I can stay up to date with your sources and keep working on my contributions as well.
P.S. I just had an idea to upload a index file with names of devices and their code names for noobs of course. We can then proceed to also including which ROMs actually support the device. The devices can first be the popular ones, and if the script gets famous :fingerscrossed: , we can accept requests for device inclusion.
Dont worry about implementation, if you aren't familiar with file handling in Python, I'll do it.
Sent from my HTC Explorer X using Tapatalk
Click to expand...
Click to collapse
I'm still working on that ui, it takes time, i'd never use Tkinter. I'll push when the script will be usable.
Good ideas, it can be good.
#PrayforParis
Sounds like a really interesting thread just subscribed and will be following closely. I've tried building from source before and anything that helps is great. Thanks for sharing
Sent from my SM-N920C using Tapatalk
I've wanted to build something like this for a very, very long time. Here's my [humble as hell] start to it:
https://quip.com/BO2dAOEvDGXd
https://github.com/superordinate/klouds
sawdoctor said:
Sounds like a really interesting thread just subscribed and will be following closely. I've tried building from source before and anything that helps is great. Thanks for sharing
Sent from my SM-N920C using Tapatalk
Click to expand...
Click to collapse
faddat said:
I've wanted to build something like this for a very, very long time. Here's my [humble as hell] start to it:
https://quip.com/BO2dAOEvDGXd
https://github.com/superordinate/klouds
Click to expand...
Click to collapse
I just read through your scripts and documents and I feel its awesome. If we ever feel like it, I think the device specific script can be dynamically grepped in the linux shell to make it work for any device without manual editing by the user.
Sent from my HTC Explorer X using Tapatalk
Some progress...
AndroGeek974 said:
Some progress...
Click to expand...
Click to collapse
Really awesome Damien, you nailed it.
This was so good that I had to WhatsApp it to my computer classmates and teachers at half past eleven (right now) in the night. Hope it's up on the git coz I'm excited to work on it.
Sent from my HTC Explorer X using Tapatalk
AndroGeek974 said:
Some progress...
Click to expand...
Click to collapse
It's high time the updated gui shows up on GitHub.
Sent from my Explorer A310e using Tapatalk
MSF Jarvis said:
It's high time the updated gui shows up on GitHub.
Sent from my Explorer A310e using Tapatalk
Click to expand...
Click to collapse
Not ready at all.
AndroGeek974 said:
Not ready at all.
Click to expand...
Click to collapse
Boohoo....
Makes you look dumb when you say that. If it's not ready just make a new branch on the git repo and push it there. Call that branch beta test or something like gui test. It doesn't hurt to have some help. You keep your work synced, I'll keep mine and together we'll be able to finish it earlier than you alone.
Sent from my Explorer A310e using Tapatalk
Few things, then I am off to sleep:
1) BINGO! The plan is to use env variables, eg:
export VENDOR=asus
export DEVICE=Z00A
2) Shall we Skype sometime? I'm faddat on Skype.
faddat said:
Few things, then I am off to sleep:
1) BINGO! The plan is to use env variables, eg:
export VENDOR=asus
export DEVICE=Z00A
2) Shall we Skype sometime? I'm faddat on Skype.
Click to expand...
Click to collapse
1) The idea's awesome, and since @AndroGeek974 is taking some time in that gui thingy, I'll do a version myself using your concept.
2) I would love to, but here in India... ummm, not that good of an idea. But I'll try to, for sure.
The thread has been cold for a while so here's a quick rundown of what we all have been up to in the mean time.
1. The GUI version of the script went up at https://GitHub.com/AndroGeek974/AndroidAutoCompiler2
2. It turned out that the GUI and CLI, both versions of the script are non-functional and buggy.
3. I made many edits to both versions to attempt to fix those issues and bugs, to no avail.
4. Tired of the constant issues with AAC and AAC2, I created another GUI based repository for AAC, called AAC-Redux, that currently only supports CyanogenMod for now, but works. Link is : https://GitHub.com/MSF-Jarvis/AAC-Redux
Sent from my HTC Desire 616 dual sim customised for Puchki using Tapatalk
Introduction
Hello everyone, this is a guide to get you up and running with your own build of Pure Nexus for the Nexus 6. In this thread, you will learn how to get your computer set up to build and the commands you will need to run. Please read the entire guide and the FAQ. Additionally, this is a developer's thread, there should be no off topic discussion.
Compilation Guide
This is available on my Github, where it may be a little more up to date.
0. Getting started
In this guide, I will go over how to build Pure Nexus on your Linux machine. This particular tutorial will focus on Ubuntu 16.04 as that is what I use (Mint 18 is also good) but this should work with any version of Linux; it does need to be 64-bit however. I will leave the installation of that up to you, Google is a wonderful resource. If you don't have a good computer but still want to build, check out this thread on XDA: http://forum.xda-developers.com/chef-central/android/guide-how-to-build-rom-google-cloud-t3360430
1. Set up your environment
1. Automatically
Code:
sudo apt-get install git-core
git clone https://github.com/akhilnarang/scripts
cd scripts
ls
bash <script-name>
<script-name> should be one of the scripts in the folder for your particular architecture.
2. Manually
1. Install Java 8
Code:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo apt-get install openjdk-8-jre
2. Install other build tools
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
2. Configure repo and git
If you have any problems with the below commands, try running as root:
Code:
sudo -s
Git is an open source version control system which is incredibly robust for tracking changes across repositories. Repo is Google's tool for working with Git in the context of Android. More reading if you are interested: https://source.android.com/source/developing.html
Run these commands to get repo working (only do this if you did the manual set up method above:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Run these commands to get git working:
Code:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
3. Download the source
First, before downloading the source, create a folder for the source and move into it.
Code:
mkdir ~/<foldername> (eg. mkdir ~/PN or ~/PureNexus)
cd ~/<foldername>
Then, we need to grab the manifest and sync down the repositories. Here are the commands to do this for Pure Nexus for Nougat (make sure you are in the source folder you made above):
Code:
repo init -u https://github.com/PureNexusProject/manifest.git -b n
repo sync --force-sync
Here is the process generally for other ROMs:
When you go to build a ROM, you must download its source. All, if not most, ROMs will have their source code available on Github. To properly download the source, follow these steps:
Go to your ROM's Github (e.g. http://github.com/PureNexusProject)
Search for a manifest (usually called manifest or android_manifest).
Go into the repo and make sure you are in the right branch (located right under the Commits tab).
Go into the README and search for a repo init command. If one exists, copy and paste it into the terminal and hit enter.
If one does not exist, you can make one with this formula:
Code:
repo init -u <url_of_manifest_repo>.git -b <branch_you_want_to_build>
For example:
Code:
repo init -u http://github.com/PureNexusProject/manifest.git -b n
After the repo has been initialized, run this command to download the source:
Code:
repo sync --force-sync
This process can take a while depending on your internet connection.
4. Build it!
At this point, it'd be a good idea to set up ccache. ccache is a compiler cache, it stores previously compiled files in a directory and pulls from that instead of recompiling if nothing has changed. This speeds up compilation a LOT. If you want to use it, follow the below steps:
Open up your .bashrc file in your home directory using a text editor or nano and append this to the end of it:
Code:
export USE_CCACHE=1
Then type:
Code:
source ~/.bashrc
After that, run one of the below command (replacing the # with how many GBs of ccache you want, 50 is recommended)
Use this one if you used the manual method of set up in section 1:
Code:
prebuilts/misc/linux-x86/ccache/ccache -M #G
Use this one if you used the automatic method of set up in section 1:
Code:
ccache -M #G
After that, it's time to build!
Code:
. build/envsetup.sh
breakfast shamu
mka bacon
After that, your computer will build the flashable zip file and if you see something that says make completed, you've done it!
Any time that you want to rebuild, type the following commands:
Code:
repo sync --force-sync
. build/envsetup.sh
breakfast shamu
mka clobber
mka bacon
I also have a script to do this on my Github here
Frequently Asked Questions
1.1 Q: I got an error, what do I do??
1.1 A: Well to start, if it is anything with Ninja, I would go ahead and disable it. You can add this to your .bashrc file:
Code:
export USE_NINJA=false
Then type this
Code:
source ~/.bashrc
. build/envsetup.sh
breakfast shamu
mka clobber
mka bacon
If it is saying you ran out of memory, follow this post.
If it isn't Ninja related, check out @AzraelsKiss's post here, where he has documented a few common issues. If none of those apply, post here with a detailed list of what you have done and we will do our best to help you.
1.2 Q: Can you guys share your personal builds?
1.2 A: No, personal builds are just that: personal. Beans releases whenever he feels that the release is ready for the masses and if a bunch of personal builds are floating around, that tarnishes the Pure Nexus name. We are more than happy to help get you up and running but we will not be sharing our builds. Thanks for understanding!
u mean Nexus 6.
@The Flash
bit of a typo on the device bro, but thanks for the write up. I've not followed your build guide but I've heard great things about it,
[email protected] said:
u mean Nexus 6.
Click to expand...
Click to collapse
Lawlrus said:
@The Flash
bit of a typo on the device bro, but thanks for the write up. I've not followed your build guide but I've heard great things about it,
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
This is genius! Thanks for the write-up!
Sent from my Nexus 6 using XDA-Developers mobile app
giving this a try today! I resized my partitions to give linux as much room as possible, but idk if that will still be enough considering i have a SSD. I have a 130gb home partition right now. Wish I could give up more of my 256GB, but I'm triple booting windows 10, ubuntu, and the new cm13 androidx86.
I def want to be able to do this though, I may have to go out today and pickup an externel hdd
slothdabski said:
giving this a try today! I resized my partitions to give linux as much room as possible, but idk if that will still be enough considering i have a SSD. I have a 130gb home partition right now. Wish I could give up more of my 256GB, but I'm triple booting windows 10, ubuntu, and the new cm13 androidx86.
I def want to be able to do this though, I may have to go out today and pickup an externel hdd
Click to expand...
Click to collapse
Source is usually about 30-50 gigs the first time you synch
Lawlrus said:
Source is usually about 30-50 gigs the first time you synch
Click to expand...
Click to collapse
I see that lol, I'm at 13gb so far. I've been reading the building how to in the 6p forum since it has a lot more comments and info. I know I'm really going to be cutting it close and theres a good chance I'll run out of space. Depending on how close I get, I may try to shave another 10gb off my windows partition to get 1 actual build done before I drop money on an external hdd. Although that may not be worth the trouble since it looks like I can pick up a 1tb external for around $55. And I would really like to have a large enough ccache to keep build times down
Sent from my NuttyNexus using Tapatalk
slothdabski said:
I see that lol, I'm at 13gb so far. I've been reading the building how to in the 6p forum since it has a lot more comments and info. I know I'm really going to be cutting it close and theres a good chance I'll run out of space. Depending on how close I get, I may try to shave another 10gb off my windows partition to get 1 actual build done before I drop money on an external hdd. Although that may not be worth the trouble since it looks like I can pick up a 1tb external for around $55. And I would really like to have a large enough ccache to keep build times down
Sent from my NuttyNexus using Tapatalk
Click to expand...
Click to collapse
Yeah, plus I'm not sure if building on a ssd would burn it out fast or not. I always wondered that myself, but the price of ssd is getting so low anymore, I guess its not that big of an issue.
After the first synch, it gets much easier on the downloads lol. First is always the most intensive, any time you synch after its just the small updates.
Lawlrus said:
Yeah, plus I'm not sure if building on a ssd would burn it out fast or not. I always wondered that myself, but the price of ssd is getting so low anymore, I guess its not that big of an issue.
After the first synch, it gets much easier on the downloads lol. First is always the most intensive, any time you synch after its just the small updates.
Click to expand...
Click to collapse
I didn't realise that was that much of an issue with ssd's! S***, I may have to get the external anyways BC I'm using a 2in1 tablet style laptop that doesn't have a user serviceable drive! I don't want a $750 machine to go bust, I'd rather drop $55 on the external lol.
Is it syncing or building that is the most taxing on the drive, or both?
Sent from my NuttyNexus using Tapatalk
slothdabski said:
I didn't realise that was that much of an issue with ssd's! S***, I may have to get the external anyways BC I'm using a 2in1 tablet style laptop that doesn't have a user serviceable drive! I don't want a $750 machine to go bust, I'd rather drop $55 on the external lol.
Is it syncing or building that is the most taxing on the drive, or both?
Sent from my NuttyNexus using Tapatalk
Click to expand...
Click to collapse
I honestly don't even know if it is, might want to wait for Nathan or someone else to chime in, I would think it would be the act of building. But as I've never actually gotten a build to work properly, I'd take what I said with a grain of salt
Lawlrus said:
I honestly don't even know if it is, might want to wait for Nathan or someone else to chime in, I would think it would be the act of building. But as I've never actually gotten a build to work properly, I'd take what I said with a grain of salt
Click to expand...
Click to collapse
Hmm so it sounds likes a lot can go wrong with building. Well, if I can do one build successfully, I can justify buying a drive to build more. One build shouldn't kill my drive since I usually don't usually do r/w intensive tasks on this computer
Sent from my NuttyNexus using Tapatalk
slothdabski said:
I didn't realise that was that much of an issue with ssd's! S***, I may have to get the external anyways BC I'm using a 2in1 tablet style laptop that doesn't have a user serviceable drive! I don't want a $750 machine to go bust, I'd rather drop $55 on the external lol.
Is it syncing or building that is the most taxing on the drive, or both?
Sent from my NuttyNexus using Tapatalk
Click to expand...
Click to collapse
It's probably the repeated compilitations.
While modern SSDs do a good job of balancing wear and tear... SSDs by the simple nature of Solid State storage have a finite number of write cycles. During normal usage you should really never max this out. However, when compiling you're performing ALOT of write cycles.
There are ways to optimize this. But if you're looking at getting an external harddrive it might be an easier option.
The Flash said:
Introduction
Click to expand...
Click to collapse
Wonderful guide The Flash. Followed everything to the T. Keeps failing with the out of memory issues as documented in your FAQ. I tried the FAQ suggestion and it still fails with same issue. Any suggestion?
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
DreamFX said:
Wonderful guide The Flash. Followed everything to the T. Keeps failing with the out of memory issues as documented in your FAQ. I tried the FAQ suggestion and it still fails with same issue. Any suggestion?
GC overhead limit exceeded.
Try increasing heap size with java option '-Xmx<size>'.
Warning: This may have produced partial or corrupted output.
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
Click to expand...
Click to collapse
How much RAM do you have?
The Flash said:
How much RAM do you have?
Click to expand...
Click to collapse
It's an older machine I use for just building and running Linux. Only 4gig. So left kill jack at 4g.
Sent from my Nexus 6 using XDA-Developers mobile app
DreamFX said:
It's an older machine I use for just building and running Linux. Only 4gig. So left kill jack at 4g.
Sent from my Nexus 6 using XDA-Developers mobile app
Click to expand...
Click to collapse
Hmmm to be honest, you may not be able to compile Nougat. I have heard quite a few people having issues with 8GB, not sure anyone has done it with less than that.
The Flash said:
Hmmm to be honest, you may not be able to compile Nougat. I have heard quite a few people having issues with 8GB, not sure anyone has done it with less than that.
Click to expand...
Click to collapse
Going to throw some more ram in her and give her another go. Thanks for the quick responses [emoji3]
Sent from my Nexus 6 using XDA-Developers mobile app
The Flash said:
Hmmm to be honest, you may not be able to compile Nougat. I have heard quite a few people having issues with 8GB, not sure anyone has done it with less than that.
Click to expand...
Click to collapse
Will a large swap help with this? Or is it purely a hardware restriction?
Sent from my NuttyNexus using Tapatalk
DreamFX said:
Going to throw some more ram in her and give her another go. Thanks for the quick responses [emoji3]
Sent from my Nexus 6 using XDA-Developers mobile app
Click to expand...
Click to collapse
Let me know how it goes!
slothdabski said:
Will a large swap help with this? Or is it purely a hardware restriction?
Sent from my NuttyNexus using Tapatalk
Click to expand...
Click to collapse
I think someone said that swap doesn't help all that much but it is worth a shot.