Related
Hey recentrly i made the " b6gsix gude for noobs: how to theme a rom " and one reply from a guy said SO YOU ARE TRYING TO MAKE A COMMUNITY ROM ?
i wasnt but thats sounds nice. ive seen one community rom b4 and i like the concept but im no dev lol so how do i go about doing so?
You don't. Don't hop right into making a ROM. You need to at least know how to program it. Let me quote something cyanogen said:
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
I'm seeing you're having problems themeing. Understandable - you're new. However, if you can't even theme, you need to just take it slow. Master Android deving little by little until you can write an app - as useful one at that - and can write it well.
As for starting a community ROM - I don't think many people will just hop on it with you if you yourself can't even program the ROM.
New thread:
Why did you made a new thread?
mDroidd said:
Hello
first: I want to release this public, but to start I decided to share it with some known guys
I'm into android for a while right now, and tried many things.
A few examples:
theming
build from kitchen
adb
build from source
To do these things, you need to do some steps. If you don't know what they are, or how you should do 'em, then you're in the right place
I teached myself (and my father teached me) some bash scripting.
ATM, I use it for resizing images.
I'll upload a screen tomorrow, together with more detailed specs.
For now, it's an easter egg for you to find out
FEATURES:
DOWNLOAD:
HOWTO:
Remember, many features will come later.
You kids have fun.
Click to expand...
Click to collapse
Wow! That would be cool!! HDPI>MDPI conversion would be very easy!! Thanks!!
Sent from my LG-P500 using XDA App
You're welcome, I had the problem first also
It uses a package called "imagemagick" and a few others, with a nice combination of commands
And don't say thanks only, also thank me
mDroidd said:
You're welcome, I had the problem first also
It uses a package called "imagemagick" and a few others, with a nice combination of commands
And don't say thanks only, also thank me
Click to expand...
Click to collapse
Good work!
Il have to try it asap...!
Updated first post, updated app, updated link.
It's now a direct link, just give it a shot!
And from now on, if people are not grateful (but they don't have to thank me) OR do not give comment on how I could improve it, I will keep this private and for my friends only.
Nice tool!
Will take a look at it and if I have some more ideas to include, I will let you know ; )
Sent from my LG-P500 using XDA App
mDroidd said:
Updated first post, updated app, updated link.
It's now a direct link, just give it a shot!
And from now on, if people are not grateful (but they don't have to thank me) OR do not give comment on how I could improve it, I will keep this private and for my friends only.
Click to expand...
Click to collapse
You might wanna release this in the General Android Development section where more people will be interested, since here there are quite few who are new to developing on android and there are more full-fledged developers who basically dont use such tools... releasing this in the general development section will encourage more newbies who are fairly new to editing apps n stuff or building an environment... this tool is great, but you need to make it public to get the 'actual' response u want...
Anyway, all the best for this tool, sadly now i dont have my pc, jus an old crappy netbook which is jus nuff fo browsing... shall try this in march after my final exams...
RockR172 said:
You might wanna release this in the General Android Development section where more people will be interested, since here there are quite few who are new to developing on android and there are more full-fledged developers who basically dont use such tools... releasing this in the general development section will encourage more newbies who are fairly new to editing apps n stuff or building an environment... this tool is great, but you need to make it public to get the 'actual' response u want...
Anyway, all the best for this tool, sadly now i dont have my pc, jus an old crappy netbook which is jus nuff fo browsing... shall try this in march after my final exams...
Click to expand...
Click to collapse
Thank you also, and you Arjen also.
I will release it there, and also in Android Chef Central. There will more people be intersted, I know.
But for now, I think you people would be nicer to me iwth suggesting idea's, just becuase some of you may know me
Anyways, after someone made a suggestion and I was able to include it and include cpfr, I will release it there
OK, done. included some more things.
I think I will be trying to PORT APK MULTI-TOOL to Linux
Should not be too hard. I'll include it in my script when it's done and submit it to the DEV to publish it.
But I want you to make a request, just to keep myself busy!
Is there ANYTHING that takes you too long, seems too hard for you, or something you want to automate?
If not, I'll continue with building from source.
Please comment within 3 days
mDroidd said:
OK, done. included some more things.
I think I will be trying to PORT APK MULTI-TOOL to Linux
Should not be too hard. I'll include it in my script when it's done and submit it to the DEV to publish it.
But I want you to make a request, just to keep myself busy!
Is there ANYTHING that takes you too long, seems too hard for you, or something you want to automate?
If not, I'll continue with building from source.
Please comment within 3 days
Click to expand...
Click to collapse
Maybe, automate the setting up of build environment for various versions of android...
So it would be like just start ur tool, go into the menu, select the build environment for the version your gonna build and it all does it by itself...
Downloading/installing packages etc..
I havent tested your tool so dunno if u have already included it in your tool...
Also, you might wanna create a directory of different types of custom roms and their github source codes link... like for example, cyanogenmod, omfgb, omgb, oxygen, aokp, codename android and so on...
So i open your tool, select the source i wanna download and it will do it...
Just my 2 cents...
Sent from my LG-P500 using XDA App
RockR172 said:
Maybe, automate the setting up of build environment for various versions of android...
So it would be like just start ur tool, go into the menu, select the build environment for the version your gonna build and it all does it by itself...
Downloading/installing packages etc..
I havent tested your tool so dunno if u have already included it in your tool...
Also, you might wanna create a directory of different types of custom roms and their github source codes link... like for example, cyanogenmod, omfgb, omgb, oxygen, aokp, codename android and so on...
So i open your tool, select the source i wanna download and it will do it...
Just my 2 cents...
Sent from my LG-P500 using XDA App
Click to expand...
Click to collapse
+1 I think that would be a great addition.
Sent from my LG-P509 using xda premium
Lol, the first thing about installing packages is already included.
I sent you a PM about smthing, pkease watch.
I am busy including the next step: build environment.
Expect it to work within 2 days, if you click the first link it'll be one
Greets!
If you need a Hans with anything let me know
Sent from my PC36100 using Tapatalk
tommytomatoe said:
If you need a Hans with anything let me know
Sent from my PC36100 using Tapatalk
Click to expand...
Click to collapse
Sure, I will Thank you.
Btw, tge post is now also at Chef central ;(
Greets!
Updated first post with FEATURES tab
Now everyone who will read this will answer?
mDroidd said:
Updated first post with FEATURES tab
Now everyone who will read this will answer?
Click to expand...
Click to collapse
A small typo??
Should'nt it be 'prepare build FROM source' and not 'form' source??
Leaving it, its come out great... n thx...
Did u add the directory stuff??
Sent from my iPad 3 using XDA App
RockR172 said:
A small typo??
Should'nt it be 'prepare build FROM source' and not 'form' source??
Leaving it, its come out great... n thx...
Did u add the directory stuff??
Sent from my iPad 3 using XDA App
Click to expand...
Click to collapse
Directory stuff: mik: done, oxygen: done, AOSP: done.
But adfad has multiple sources... I am gonna ask him
And yeah, typo, I'll edit right away!
Greets!
mDroidd said:
Directory stuff: mik: done, oxygen: done, AOSP: done.
But adfad has multiple sources... I am gonna ask him
And yeah, typo, I'll edit right away!
Greets!
Click to expand...
Click to collapse
Wait, this tool isnt just for O1...!
Its should me made for every phone out there... so maybe you should add the official sources and not ported sources... cuz if you start including port sources, it will be too much hassle trying to keep the source links updated, sometimes they change, too many ports for every available android device etc...
Also, u will b flooded with requests to add this source, add that source..
Do it like:
CyanogenMod- full official source from CM, github.com/cyanogenmod
Oxygen- full official source by oxygen team, (i dont remember the links)
AOSP
AOKP
CodeNameAndroid
OMGB
OMFGB
Etc etc
Add the official repo's n not ports...
It will help in keeping the sources more update as the official teams work more on their sources than individual porters do on their own sources...
Sent from my iPad 3 using XDA App
RockR172 said:
Wait, this tool isnt just for O1...!
Its should me made for every phone out there... so maybe you should add the official sources and not ported sources... cuz if you start including port sources, it will be too much hassle trying to keep the source links updated, sometimes they change, too many ports for every available android device etc...
Also, u will b flooded with requests to add this source, add that source..
Do it like:
CyanogenMod- full official source from CM, github.com/cyanogenmod
Oxygen- full official source by oxygen team, (i dont remember the links)
AOSP
AOKP
CodeNameAndroid
OMGB
OMFGB
Etc etc
Add the official repo's n not ports...
It will help in keeping the sources more update as the official teams work more on their sources than individual porters do on their own sources...
Sent from my iPad 3 using XDA App
Click to expand...
Click to collapse
I did
I am making funtions like this in bash:
function AOSP
{
repo init -u blablabla
}
and downstairs the script
AOSP
So you can edit it above
I am now making an LG Specific and a stock android one
Updated
Changelog:
Code:
#v1b4:
[^]Added copyright
[^]Updated Animation
[^]Added second section; looks better
[^]OOPS! I added CopieFrom under the option "c" wich is already changelog!
[^]Improved other than home directory - was not working
[^]ICS Blue characters <3
[^]Added BUILD FROM SOURCE option
[^]Custom animation speed :)
[>]To try if this works, please go into terminal and type:
cat --help
if it tells you the manual for "cat", then you are fine.
Option D from the main menu.
Have fun
This Thread Has Some Good Links And Some Advise. Thought It will be of use in univrsity
cyanogen said:
I really dislike the "chef" moniker when it comes to Android, since we are more of an open-source community. I think it implies a "file pusher" mentality. But then again, I am biased against proprietary versions of Android like Sense, so feel free to disregard all of this.
Here's my advice for those looking to make their own Android ROMs.. Stop. Write an app or two first, learn how the system works from a developer standpoint. Learn some Java. Read the developer documentation. Learn how to use Git. Then learn how to build AOSP from source. Read the porting guides, and learn how the build system works (the links below have almost everything you could possibly want to know). Now try to put your new found skills to work on enhancing the platform by writing code or making theme overlays. And share! And put that **** on your resume. There is a *ton* of information out there but any kind of "step-by-step rom cooking guide" is going to be a complete fail- it's too broad of a subject.
Android Developer Guides: http://d.android.com
Working with AOSP source: http://source.android.com
Platform Developer Guide: http://pdk.android.com
Android Gitweb: http://android.git.kernel.org
Git Ready (Git tips and tricks): http://www.gitready.com/
Building CyanogenMod: http://wiki.cyanogenmod.com/index.php/Building_from_source
How Dexopt works and what are those odex files: http://android.git.kernel.org/?p=pl...bcd225e47b2cc7abb2a366112d3aeb45936;hb=master
The PDK site is absolutely vital if you are going to work on custom ROMs. Read every single page. Twice. Some of the info isn't up to date, but you'll get a really good idea about what goes into actually configuring Android to work on a real device.
Click to expand...
Click to collapse
This Thread Has Some Good Links And Some Advise. Thought It will be of use in univrsity
Click to expand...
Click to collapse
You might want to update the links
PDK: http://www.kandroid.org/online-pdk/guide/index.html
Gitweb https://android.googlesource.com
trevd said:
You might want to update the links
PDK: http://www.kandroid.org/online-pdk/guide/index.html
Gitweb https://android.googlesource.com
Click to expand...
Click to collapse
Thanks Brother
*EDIT* This thread is now based upon the work by @fattire and @slayher, who got it up on the 910T. For that phone see this thread: http://forum.xda-developers.com/not...nt/unoffcial-cm-12-0-t-mobile-note-4-t2964887
This thread is for dev's interested to help out porting CM12 to our device. I've researched for info regarding CM ports and good information is actually quit scarce. A dev might post something like 'hmm stuck at boot anim' and then the next day 'got it, booting now !' without explaining what he did to solve it. I want to change that, so this thread can serve as a guide for other first time porters too (this is also my first porting project), documenting every step as in much detail as possible.
For ROMS: http://forum.xda-developers.com/not...official-cm-12-0-910f-note-4-trltexx-t2987412
Please use this thread for R&D/development ONLY !!!
Ok, I'm really starting from scratch and never done any phone ROM porting. I've just made a new virtual disk running ubuntu and am currently downloading the CM12 repo. I figured, how to get even started here. I figured that the goals we need to attain in this order:
1) compile the kernel samsung supplied
2) make sure we can boot into kernel
3) get ADB up and running
4) get CM12 starting up, even the bootanim alone would be a nice goal to reach
5) Booting into homescreen
6) Fixing all stuff like modem, wifi etc etc etc
Anyway, I'm currently downloading CM12 sources as we speak ...
This is by the way a link I found very useful: http://www.androidenea.com/2009/08/init-process-and-initrc.html It describes the Android init process, cause I was wondering, how to even start all this ? How to get from kernel to CM booting: that's where init.rc should come into play of course
Good luck this is a long project. I build carbonrom for another phone where everything for cm was allready fixed. I would start with a phone that allready has support to learn how the process goes. You can brick your phone and it's a process of trail and error... But I hope you manage good luck!
KaptKeefmenneke said:
Good luck this is a long project. I build carbonrom for another phone where everything for cm was allready fixed. I would start with a phone that allready has support to learn how the process goes. You can brick your phone and it's a process of trail and error... But I hope you manage good luck!
Click to expand...
Click to collapse
I'm not sure I understand what you mean ? If the phone already has support, then what's there to port ? Or do you mean building CM itself ? That I've done quite a few times already, did quite a bit of work on the i9500, fixing RILD issue's, kernel issue's and other stuff.
soo...maybe m wrong (has been a while snce ive ported) but im goin to drop a few lines anyhow......
porting is very different from source building.....the only reason you would need to dl the cm sources would be to compile the rom using sources...and right now the note 4 has none we would need device,kernel,common,vendor sources for that....so... we cant source build right now only port....sp what we need to do is research which device officially or unofficially that has cm with same specs as the note4 things like screen size, board, things of that nature....and would highly recommend using the same carrier as well.....but once we have that info....dl that phones cm rom zip....dl one of our phones rom zips.....now for the fun....ill lay out a way i did it maybe is the same still ...
place both cm zip and note 4 zip on desktop..
create a new folder call it new
drag all files from the cm zip into the new
open the new and open the note 4 zip have them side by side
now your going to drag pretty much all folders/files from the note 4 system folder into the new sytsem folder one folder at a time excluding:
app,priv-app,etc,fonts,media,framework,xbin (im probably forgetting one or two but has been a long time)
now the fun begins....time to edit some xmls and trial and error on pretty much everything until it is working right
you are also going to want to change out the kernel and have to edit the updater-script in the meta-inf....
im positive im forgetting a few things but this is pretty much what i can remember......from off the top of my head...some of the guides ill link in a bit will go into greater detail and explain things more in depth
a few links ive had bookmarked that will help ya
http://forum.xda-developers.com/showthread.php?t=1908008
http://forum.xda-developers.com/showthread.php?t=732957
http://forum.xda-developers.com/showthread.php?t=1957219
http://forum.xda-developers.com/showthread.php?t=1272270
http://forum.xda-developers.com/showthread.php?t=2113479
http://forum.xda-developers.com/showthread.php?t=1801690
http://forum.xda-developers.com/showthread.php?t=2251719
http://forum.xda-developers.com/showthread.php?t=1941239
http://forum.xda-developers.com/showthread.php?t=1805408
http://forum.xda-developers.com/showthread.php?t=2058850
all of these links in one way or another have helped me during my porting phase hope they do the same for you ...like ive said before im more of a source builder so thats what imgoing to be trying to do is getting a working tree... but if you need help just hit me up ill do what i can
Shouldn't this thread be in general?
jdidtht said:
Shouldn't this thread be in general?
Click to expand...
Click to collapse
yes it really should being as there is no development only discussion...but thats the moderators job not mine
spleef said:
yes it really should being as there is no development only discussion...but thats the moderators job not mine
Click to expand...
Click to collapse
Threads regarding R&D belong in development, so I guess it really belongs here. Even more so cause if it's moved to general, tons of n00bs will join in and destroy the thread. please keep this developers only.
Anyway thanks to see you join in Spleef, much appreciated !! Still setting up my environment myself ...
spleef said:
soo...maybe m wrong (has been a while snce ive ported) but im goin to drop a few lines anyhow......
porting is very different from source building.....the only reason you would need to dl the cm sources would be to compile the rom using sources...and right now the note 4 has none we would need device,kernel,common,vendor sources for that....so... we cant source build right now only port....sp what we need to do is research which device officially or unofficially that has cm with same specs as the note4 things like screen size, board, things of that nature....and would highly recommend using the same carrier as well.....but once we have that info....dl that phones cm rom zip....dl one of our phones rom zips.....now for the fun....ill lay out a way i did it maybe is the same still ...
place both cm zip and note 4 zip on desktop..
create a new folder call it new
drag all files from the cm zip into the new
open the new and open the note 4 zip have them side by side
now your going to drag pretty much all folders/files from the note 4 system folder into the new sytsem folder one folder at a time excluding:
app,priv-app,etc,fonts,media,framework,xbin (im probably forgetting one or two but has been a long time)
now the fun begins....time to edit some xmls and trial and error on pretty much everything until it is working right
you are also going to want to change out the kernel and have to edit the updater-script in the meta-inf....
im positive im forgetting a few things but this is pretty much what i can remember......from off the top of my head...some of the guides ill link in a bit will go into greater detail and explain things more in depth
a few links ive had bookmarked that will help ya
http://forum.xda-developers.com/showthread.php?t=1908008
http://forum.xda-developers.com/showthread.php?t=732957
http://forum.xda-developers.com/showthread.php?t=1957219
http://forum.xda-developers.com/showthread.php?t=1272270
http://forum.xda-developers.com/showthread.php?t=2113479
http://forum.xda-developers.com/showthread.php?t=1801690
http://forum.xda-developers.com/showthread.php?t=2251719
http://forum.xda-developers.com/showthread.php?t=1941239
http://forum.xda-developers.com/showthread.php?t=1805408
http://forum.xda-developers.com/showthread.php?t=2058850
all of these links in one way or another have helped me during my porting phase hope they do the same for you ...like ive said before im more of a source builder so thats what imgoing to be trying to do is getting a working tree... but if you need help just hit me up ill do what i can
Click to expand...
Click to collapse
Great addition to the thread ! Hmm I haven't done any porting myself. I figured once we have a kernel up (compiling it should be easy), then what's stopping us from booting CM ? I mean of course RILD won't work if we don't have a JNI (or what's it called on ART, ANI ? ) interface to the modem. Of course we won't have NFC, internet, telephony, all that. But merely booting a graphical interface that should be doable with Nexus 6 source code, right ? I mean all we need is SoC sources so we have cpu & graphics working, right ? So That was what I had in mind myself but your approach actually is quite the same now I think of it
Thread is moved to general AGAIN. Hehe. Starting a development thread ON XDA and have it in the developer section seems harder than porting CM12 Anyway I guess it doesn't matter in which section it is, as long as n00bs and trolls stay out and we can focus on development only.
Anyway, downloading kernel sources as we speak ...
BTW, here is Nexus 6 source code: http://www.xda-developers.com/android/google-nexus-6-factory-images/
Going to down that right now too ...
Ok, building kernel as we speak. I just installed the arm-eabi-4.7 toolchain, like this:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/
And then edited the makefile and issued the 3 commands all as specified in README_Kernel.txt from the Samsung Kernel. So far so good
And yes, as expected, build breaks:
drivers/scsi/ufs/ufs_test.c:25:19: fatal error: ../sd.h: No such file or directory
compilation terminated.
make[3]: *** [drivers/scsi/ufs/ufs_test.o] Error 1
make[2]: *** [drivers/scsi/ufs] Error 2
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2
Hehe, Samsung wouldn't be Samsung if they would supply a kernel that actually builds from the start Going to investigate ...
Actually that seems like an easy fix, just linked the file correctly
And a new break:
In file included from drivers/gud/MobiCoreDriver/logging.c:21:0:
drivers/gud/MobiCoreDriver/main.h:24:22: fatal error: platform.h: No such file or directory
I'd say it's looking for the file in platforms/MSM8960_SURF_STD, going to link it correctly ...
And building again ...
n file included from drivers/video/msm/mdss/mdss_mdp_trace.h:255:0,
from drivers/video/msm/mdss/mdss_mdp.c:61:
include/trace/define_trace.h:79:43: fatal error: ./mdss_mdp_trace.h: No such file or directory
Include should point to kernel includes, fixing it again
And building again ...
Code:
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
LZO arch/arm/boot/compressed/piggy.lzo
AS arch/arm/boot/compressed/piggy.lzo.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Kernel ready Of course that was the easy part, hehe, but still, progress. Tomorrow going to start with the difficult part, getting CM up
I've ported before but only tw where it was mainly framework edits. Never worked with cm before but like the op I'm keen to learn. If i can help at all just let me know, I use linux mint myself rather than Ubuntu but they're very similar
So, just downloaded Nexus 6 sources. It seems that directory /device/moto/shamu contains the device hardware stuff we need ! Going to research some more today ...
*EDIT* also mind the propietary-blobs.txt in that directory. I'm still waiting for my Note 4 myself (hopefully friday), but this needs to be compared with the files on the device, cause if they exist, they will be blobs of course and we need them.
I have decided to rework the thread to ovoid any confusion as the intent of posting this thread was to ask questions about compiling custom Roms from AOSP source that someone like myself who gained their development experience on other devices that building from pure AOSP code was not an option and are not as familiar working with AOSP. In the past my own experience comes from using and modifying for example the Cyanogenmod source so after attempting to now base my Rom on AOSP this time around with Lollipop have run into a few unfamiliar differences. As each question or topic is addressed I will update the Op. The hope is not only will I find solutions or answers to my own questions but that others in the same position will also be able to find use of the discussions posted in this thread.
Compiling the AOSP source into a format that can be safely flashed using a custom recovery. This was a 3 part question the first was just simply how to compile AOSP in a format other then .img files that can be flashed using a custom recovery without the need of flashing through fastboot or needing to use the adb sideload option.
1, Compiling AOSP into the for of an update.zip.
This was answered in short by know.patience by suggesting to use the “make otapackage” command in place of "make" to start the build. Was also made aware that a few modifications would need to be made to avoid producing an update package that does not use the new block format but instead the old style zips we are most used to seeing.
2, Now can create an update.zip using the “make otapackage” command ran into an issue that by flashing the update.zip produced would in the process replace the custom recovery used to flash with the Nexus Stock recovery. This was answered by Lethargy who suggested and provided a Link for the following commit.
For getting rid of the AOSP recovery:
https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f
https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
3, Now can create an update.zip using the “make otapackage” and after applying the above commit are now able to flash the update.zip without replacing the recovery Lethargy also provided links for the following commits.
To get rid of the block-based zip format:
https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit):
https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well:
https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
Compiling using the AOSP Master branch vs release branches. In following the directions provided on the Google development site are given the command for downloading the source code using the Master branch. Using the Master branch as apposed to a release branch such as android-5.0.2_r1 or lower have found that the source compiles just fine but have run into one issue and just a general question that a little explanation would be helpful for general understanding of the AOSP Master branch.
The issue is that after flashing a Rom compiled using the Master branch everything in the Rom works as expected other than the radio. I have so far using the same exact vendor blobs as compiling a release branch have not had a signal and baseband version is listed under about phone as unknown.
The general question is that the android version listed compiling a Rom using the Master branch is version 5.0.50.50.50.50. In general I have yet to understand what this version number represents and very little to no information available via the Google Box.
Between the both I now wounder if the Master branch is intended for actual use or if so what changes are required so the baseband version is recognized and radio / Ril will work?
Quick Answer:
Google first commits new code into master and then is later tagged with an update for realease so in generall many things can be broken and the master branch is and not intended to be stable so if building from master expect that things will be broke or buggy.
Compiling Rom and Kernel together. For those of us again used to compiling using say the CM code are now used to compiling the Kernel along with the rest of the code. I know it is easy to just compile the Kernel and include in the device tree but for those of us who would still like the Kernel compiles with the rest of the code there is no information available on the Google Developers site for doing so and there seems to be a few differences as have tried just using the lines used in the CM Hammerhead device repository. I have come across these commits from Cl3Kener that should help. Hate posting other developers code but is on Github so is there for the public at large. So far have only tested as is so will update if finding not all changes are necessary or can be modified.
Inline Kernel Building
https://github.com/OptiPop/device_lge_hammerhead/commit/7de8fd95b6df16cb6311161d5048874d69cf1cb1
https://github.com/OptiPop/device_lge_hammerhead/commit/87768896f4eb8fcd989ce3b8492ca65305513851
https://github.com/OptiPop/device_lge_hammerhead/commit/5460eb3aa76ea5d813f64a3b3bab6ace1be6de68
Adding Pre-Built APK's
Seems Sprint users need a few apk's for updating prl and what not that are included into the Stock release but are not part of the AOSP code. For some reason through vendor or even device have tried adding these apk's into the build. First try I created a sprint vendor section and received a few errors untill learning would need to add sprint into a vendor white list found in build. Will post link to file later. After found the extra "Services.jar" I found in the stock image not found in the aosp compiled Rom did copy into the build but the apk's had not. Looking in the other vendor blobs noticed lge adds "qcrilmsgtunnel.apk" so followed the example and even tried just adding the other spk's into lge expanding the list used for adding in "qcrilmsgtunnel.apk" but still no luck. Also have tried adding through the device files for Hammerhead just to get them into the Rom for testing and still no luck. If this was CM or any other Rom not using pure aosp this would have been a 5 minut project so need to do some aditional homework.
Again think this thread could be a good resource for developers who are new to building their Roms around AOSP so wanted to include everything I run into during the process of moving away from using a heavily modified CM based code as the base of my Rom to using AOSP in its place so developers who are or in the same process or for those in the future can use as a resource to quickly adjusting. I have been building CM based Roms like Starship for years and after hours of working on other aspects to suddenly be stumped by these small differences between platforms can be very frustrating.
to the OP:
answer to your first question comes in two parts.
a) use 'make -j# otapackage' will generate a zip that is flashable in custom recovery.
b) if you plan on adding other files after the zip is made, you will need this info here:
https://github.com/android/platform_build/commit/26e6619c37e294fe2ee63aaa759e0ac861775ce8
There are some modifications needed to generate the OG zip files instead of the new "block" format.
Google hasn't released the 5.0.1 image for the N5 but that doesn't mean you can't build it and install it yourself. I'm running it and it seems okay to me so far although I'm hardly an expert.
simms22 said:
op.. this section is only for developers, to get work done. if you have questions, they belong in the q&a section. you arent new, you should know this. again, this section is only for developers, mot for the normal xda folk to post questions. you have a q&a section just for asking questions. please, ask a mod to move your thread there.
Click to expand...
Click to collapse
I am building a customized AOSP Rom I am interested in sharing so was looking for help or direction in creating an update zip that can be flashed in a custom recovery like TWRP. I am not used to compiling AOSP and with the help of know.patience in the first reply am now able to compile an update.zip I can flash in TWRP but in doing so it also replaces TWRP with the Stock recovery. I have still been using the .img files to flash personally but am still trying to figure out how to solve the recovery replacement issue. I still have other features I am adding and testing before I would like to post my work but before I get to that point I still need to figure out my recovery replacement issue. Maybe using the words personal use may have been confusing but at the moment until ready I have only been using my work personally but would like to at some point post and share. I also have work that is not AOSP based I am sharing in the Android Development section but I have been building CM and other source based Roms and sharing for years. This is the first device I have been able to build AOSP and still have a few things to figure out before sharing any of my AOSP based work. I am otherwise not sure why you think these are questions for general Q&A.
I started this thread in Android Development as there was only about 4 posts in this section and I see many AOSP based Roms in Android Development who's developers obviously know the answers to my questions so tried to get away posting there in hope one of these developers could help or like in the first response point me in the direction of a commit before the thread was moved by a mod into this section. Do you think someone in the general Q&A section is better equipped to help answer questions about compiling an AOSP based Rom in the form of an update.zip that can be flashed in TWRP without also replacing TWRP with the Stock recovery?? Would also be nice knowing what changes in the code need to be made in compiling an old style update.zip that does not use the new block format. This would be a bonus but overall not %100 needed as instead of moving files around after the code has been compiled have added init.d support and first have all the files I want moved into a staging directory and then form an init,d bash script to move the files during first boot and remove those that are not needed like this example I used in my CM based version of the Rom I am trying to update for AOSP for 5.0.
https://github.com/Starship-Android/android_device_starship-common/blob/cm-11.0/app-update
https://github.com/Starship-Android/android_device_starship-common/blob/cm-11.0/cleanup
I must seriously be underestimating the knowledge and in general the types of questions being asked and answered in the general Q&A section.
Honestly if not for the amount of times thanked I would think this comment was not so much about helping or community but more about someone trying to puff themselves up by trying to appear important by making decisions about what questions are worthy of being asked but judging by the number of times they have been helpful I am thinking its either a case of not reading or understanding the question being asked or my own inability to express my questions in the proper manor. Either way its definitely not about taking up resources in a section with less than 10 total posts. The frustrating part as a community as I like to believe we are all in is that why I worked on other parts in updating my Rom had expected that at least more than one developer out of all the AOSP based Roms posted in the development section would have helped me with this one part. Its not like I am asking how to be a developer just a resource to help with two simple things I am sure I could have figured out and will most likely still figure out without any help. Overall my thoughts behind posting this question was that why I am working to figure out something a bit more time consuming at least more than one person would be helpful enough to copy and past a commit.
XDA is weird in that with other devices all the developers would join a team and start a shared group of repository’s for one another to use in trying to make the best possible experience and options for everyone. For example in the op I posted an example of hours of work I did showing what libraries are needed by one another just so others could use it also in trying to port as much as possible for in that case the Galaxy Mini. Then with other devices like seems to be the case with the N5 its all about competition and what I am starting to call the smartest person in the room syndrome. Its just a shame there are only 5 maybe 6 threads posted in this section and I think that says allot about the community in general. So many good things could come about if we just tried to be helpful and pull as much knowledge together as we could. Anyhow think its time for ending this rant.
chairshot215 said:
compiling an AOSP based Rom in the form of an update.zip that can be flashed in TWRP without also replacing TWRP with the Stock recovery?? Would also be nice knowing what changes in the code need to be made in compiling an old style update.zip that does not use the new block format.
Click to expand...
Click to collapse
To get rid of the block-based zip format: https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit): https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well: https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
For getting rid of the AOSP recovery: https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f then https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
Lethargy said:
To get rid of the block-based zip format: https://github.com/Lethargy/android_build/commit/4d458300d935a3a9d893a590286cb578dcf54db2
You'll also want to make sure you have this commit so it doesn't flash awfully slow in recovery (8~ minutes, but only around 1-2 minutes with this commit): https://github.com/Lethargy/android_system_extras/commit/52f8d5fc3edfacd112827d0a41516c1dc5f4a468
This one isn't required but you may as well: https://github.com/Lethargy/android_build/commit/242be9ae4f05e3cb1d39d635cac7147ff904700c
For getting rid of the AOSP recovery: https://github.com/Lethargy/android_build/commit/48521e167c642db76c9d4f52b1c63f9abc7f707f then https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558
Click to expand...
Click to collapse
Thank you this is well beyond what I was looking for and don’t worry I make it a point not to send out PM's with questions that can be helpful for others as well. Otherwise would have blown up the AOSP Rom posters in development but thanks for the information.
chairshot215 said:
.. and don’t worry I make it a point not to send out PM's with questions that can be helpful for others as well..
Click to expand...
Click to collapse
If you mean "I'll probably ignore you if you try asking for support over PM.", that's part of my forum signature.
If you need anything else feel free to @mention me in a thread, though.
I reworked the Op to avoid confusion as Mods have been moving the thread around into different sections. I personalty believe these questions are more geared towered development than general Q&A but at least at the moment I appear to be wrong about that. Never know though as in the past one day one of the mods may decide to move the thread back into its intended location but until then I guess these topics will be of better use to general users than developers.
chairshot215 said:
I reworked the Op to avoid confusion as Mods have been moving the thread around into different sections. I personalty believe these questions are more geared towered development than general Q&A but at least at the moment I appear to be wrong about that. Never know though as in the past one day one of the mods may decide to move the thread back into its intended location but until then I guess these topics will be of better use to general users than developers.
Click to expand...
Click to collapse
You should include the other commit (https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558) which fixes building since the first one results in "IndentationError: unexpected indent".
Lethargy said:
You should include the other commit (https://github.com/Lethargy/android_build/commit/1d9224bd45ef2b4f5601a157de2bfe3bb1c95558) which fixes building since the first one results in "IndentationError: unexpected indent".
Click to expand...
Click to collapse
Thanks for the heads up, when testing these I also cherry picked a few other things that looked related. Have to double check but may have forked the repository’s from you so would receive credit if anyone decided to look over my repository’s. Well overall my personal Github has been pretty bare as in the past most work was done on more obscure Virgin Mobile devices with only a few developers so we would pretty much create an organization for all the developers to use.
https://github.com/MTDEV-CM7
https://github.com/MTDEV-CM10
https://github.com/vmobi-triumph
https://github.com/MTDEV-KERNEL
https://github.com/MTDEV-MIUIv4
https://github.com/MTCM9
https://github.com/MTCM10
https://github.com/HTCCM9
https://github.com/HTCCM10
https://github.com/HTCStarShip
https://github.com/HTCUbuntu
https://github.com/vmobi-shooter
https://github.com/vmobi-gogh
These days have been keeping everything under Starship-Android.
https://github.com/Starship-Android
Have 2 other members listed who I had worked with in the past but has otherwise been a solo organization with one of the other members who decided on going with the Moto X and Verizon over the N5 and showed little interest in his 2012 version of the N7 as it was intended for being a Nexus only device line up and the second being my Kernel Guru from a few devices back who mainly joined to help me out with a few things but ultimately what I am getting around to is this is the first time working %100 solo. Have to say without having anyone to bounce off ideas and share findings with things definitely move much slower and take a bit of getting used to. Is also the reason for starting threads like this. Most of this stuff looking in the developer section appeared to be pretty common knowledge but having never worked from pure AOSP before was slowing down other development for about a week just to figure out what seemed like half the community had already known and with what probably took at the most 5 or 10 minutes of copying and pasting commits probably saved me a weekend of sifting through github and testing. I hope by creating a thread like this will be able to do the same for others.
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
malcho said:
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
Click to expand...
Click to collapse
Never tried.
ODEXED
i am successfully build cm12 with fully odexed. now i like to odex some prebuilt apk also but LOCAL_DEX_PREOPT=true not odexing prebuilt apk. can somebody help me? already DEX_PREOPT=true working fine.
soorajj said:
i am successfully build cm12 with fully odexed. now i like to odex some prebuilt apk also but LOCAL_DEX_PREOPT=true not odexing prebuilt apk. can somebody help me? already DEX_PREOPT=true working fine.
Click to expand...
Click to collapse
Why do you need to odex a prebuilt apk?
Not sure if what you want is even possible.
But if odexing your prebuilt apk is necessary then why not odex it then include the .odex with the prebuilt?
Lethargy said:
Why do you need to odex a prebuilt apk?
Not sure if what you want is even possible.
But if odexing your prebuilt apk is necessary then why not odex it then include the .odex with the prebuilt?
Click to expand...
Click to collapse
suppose i want to odex gapps. how to?
malcho said:
Hi guys,
Anyone manage to fix RIL problems with master branch?
I also build AOSP roms so for sure i will hangout here
Sent from my AOSP on HammerHead using XDA Free mobile app
Click to expand...
Click to collapse
Nothing so far, I downloaded the master and 5.0.2_r1 branches and have loaded both in meld for looking over differences but have not yet identified from the dif between the 2 branches that is responsible for ril working in release branch but not master. Still have allot to look over though still. Still have not found a decent explanation of the master branch to know if its recommended to build from but still just for Knowledge sake am interested in knowing. At first thought maybe apn's but not so sure with baseband also listed as unknown from my Master branch builds.
chairshot215 said:
Nothing so far, I downloaded the master and 5.0.2_r1 branches and have loaded both in meld for looking over differences but have not yet identified from the dif between the 2 branches that is responsible for ril working in release branch but not master. Still have allot to look over though still. Still have not found a decent explanation of the master branch to know if its recommended to build from but still just for Knowledge sake am interested in knowing. At first thought maybe apn's but not so sure with baseband also listed as unknown from my Master branch builds.
Click to expand...
Click to collapse
As far as i know all the patches goes to master branch then from this branch ,if they are ok,is distributed to lower branches.I also didn't find info why is named as 5.0.50.50.I will try to investigate this ril problem
malcho said:
As far as i know all the patches goes to master branch then from this branch ,if they are ok,is distributed to lower branches.I also didn't find info why is named as 5.0.50.50.I will try to investigate this ril problem
Click to expand...
Click to collapse
Thanks will definitely update the Op with any findings. Was very surprised to find the thread again as it has now been moved 4 times by 4 different Mods, some bounce it to general Q&A and then is bounced back here by another. I understand its not comprised of the most advanced development topics but with that said is still way more advanced than the topics being discussed by general users over in the general Q&A section. I had just thought it would be a nice one stop place for learning the basics of AOSP development. With the constant moving and scolding messages being received one would think the threads very existence is up there with crossing the streams and threatens the existence of Android development.
@chairshot215 Thank you for starting this thread. Thank you @Lethargy for all of your insight. I like to do my own perosnal builds every once in a while for my nexus devices. What I have observed over the years is that the Master Branch will sometimes have funky version numbers like you have described. One thing to consider is what @malcho mentioned. If all commits indeed go there first before the respective branches(although this may not entirely be the case), then it is likely that some things may be broken in the master branch from time to time, hence the ril problem. I think with the galaxy nexus I ended up running into issues from time to time with the master branch, and from there learned to build for specific branches/tags. For instance, there are times when items within a specific branch will be ahead of master in some areas and behind it in others, as in this link to platform_build for lollipop release https://github.com/android/platform_build/tree/lollipop-release. So with that, it is probably in our best interests to just use specific branches.
Milly7 said:
@chairshot215 Thank you for starting this thread. Thank you @Lethargy for all of your insight. I like to do my own perosnal builds every once in a while for my nexus devices. What I have observed over the years is that the Master Branch will sometimes have funky version numbers like you have described. One thing to consider is what @malcho mentioned. If all commits indeed go there first before the respective branches(although this may not entirely be the case), then it is likely that some things may be broken in the master branch from time to time, hence the ril problem. I think with the galaxy nexus I ended up running into issues from time to time with the master branch, and from there learned to build for specific branches/tags. For instance, there are times when items within a specific branch will be ahead of master in some areas and behind it in others, as in this link to platform_build for lollipop release https://github.com/android/platform_build/tree/lollipop-release. So with that, it is probably in our best interests to just use specific branches.
Click to expand...
Click to collapse
Thanks for the response and have definitely learned its better building from branches with a release tag. Still very curious why and how the branches are structured so thanks for the explanations.
Way totally off topic for the thread but landed a brand new SSD and decided to install everything fresh. After everything was set back up and wanted to start building I ran my usual,
-j'grep 'processor' /proc/cpuinfo | wc -l'
a very old habit before fully understanding what number to use after -j so used grep to figure it out based on Googles recommendation. The command did not work so removed the grep and just made it -j4 but also with 0 success. At first just figued I missed somthing setting everything back up and "make" is just not working but wrong again as running "make" command without -j of any number works just fine.
Also tried this with CM12 as I am doing 2 versions of my Starship Rom. One from AOSP and one using CM. Figured AOSP would be special for Nexus users why also having a version for CM I can make most changes by adding a Starship Device Tree could easily port the Rom to any device running CM supported or not.
https://github.com/Starship-Android/android_device_starship-common/tree/cm-12.0
Also found why compiling CM that -j also results in an error
Invalid lunch combo: cm_hammerhead--j4
No such item in brunch menu. Try 'breakfast'
So far have not found anything using the Google Box so figured may as well ask. If have not figured out by now I have no shame in asking questions. Oddly enough that is for things that are probably relatively simple. Took a better part of a week figuring out how to start CM using the Now Launcher and setting up init.d bash scripts for moving around and replacing libs after learning the Gapps package includes libs that will not work so the solution needed to be that the CM Gapps package libs needed to be replaced with either stock or libs pulled after installing the Now Launcher from the Play Store after flashing Gapps and the Rom staring. Also then what if user updates and wipes the system partition after the new and updated llibs have been moved into place. Anyhow point of story is things like this I will just figure out without bothering anyone but for the cant believe I need to stop what I am working on to figure out something most likely very simple and can be answered with very little time spent I have no shame in just asking. Not that someone else’s time is less important but like I have mentioned before is frustrating just after spending hours or days figuring out something asked in dozens of threads is just frustrating getting caught up or loosing momentum and thought processes over something so simple there are little resources available. Also I assume most devs have the same experience when you have an idea or thought behind resolving an issue that once you stop and change direction it just sometimes never comes back and that short time you had I guess can be called an epiphany is gone once going back. Otherwise thats how I justify asking dumb ars questions.