Related
Hello, i'm a web developer and have no experience in developing android roms. Anyways, i'm planning to develop a free website which will let any developer create an online kitchen for his rom, where users like me can come and bake rom according to their needs. Now as i don't have any experience with cooking roms, i would like a little help from the developers. Help i am seeking in is, what features a fully customizable kitchen has, how to change the update.zip for the changes, and adding applications to the zip. I have a little bit idea, but want a clear process.
you will get flamed for this
shararti said:
Hello, i'm a web developer and have no experience in developing android roms. Anyways, i'm planning to develop a free website which will let any developer create an online kitchen for his rom, where users like me can come and bake rom according to their needs. Now as i don't have any experience with cooking roms, i would like a little help from the developers. Help i am seeking in is, what features a fully customizable kitchen has, how to change the update.zip for the changes, and adding applications to the zip. I have a little bit idea, but want a clear process.
Click to expand...
Click to collapse
This really is an admirable goal, but you're attempting to bite & chew WAY more than your mouth can handle!!!
You're a web developer, good.
You have no experience in developing android roms, bad.
You want to develop a free kitchen, good.
You have no experience with cooking roms, bad.
You want developers to help you in exchange for a free kitchen for their rom, bad & good.
You don't know how to update the "update.zip" file and re-sign it, bad.
You don't know how to add an APK to the above mentioned "update.zip" file and re-sign it, bad.
You have a little bit of an idea, but want a clearer process, bad.
All of the above noted BAD points, have been discussed, referenced, and linked on these forums countless times shararti.
You really need to search, read, search some more, and apply what you've learned.
I too am a Web Developer/Designer. I've been in the business of creating websites since 1999 (off & on). And the above mentioned project it something I WON'T EVEN DARE ATTEMPT.
Good luck!
I did search, countless times, everywhere. But as lack of my experience with rom development, it was quite confusing. Well I do know signing and adding apk part, and the rest, i agree, i need some help. I'm willing to give my summer to this project and develop this kitchen for the xda community (i'm also willing to give it away to xda). Now if anyone is willing to help me, please pm me.
Actually, it isn't that difficult.
There are quite a few scripts and programs that you could simply employ on your website. I'm sure those developers wouldn't mind
You would have to tier your ROM baking based on the major ROM cores, and the features swappable between flavors of those cores.
It's simply letting the user choose what he wants in his base ROM, pushing the files into the zip, and running the script to sign them.
I'd be glad to guide you in the structure of ROMs, and showing you what can be mixed and matched.
PM me. We'll get started.
Sounds like a very cool idea and I wish you all the best and hope you find some programmers willing to teach you about roms, and you can do the web coding and make your idea a reality.
I'd use it for sure, would be wicked. Imagine going to this web page on your N1 customizing a ROM, building it and then flashing it. All without going near a computer. Sounds unreal!
APrinceAmongMen said:
I'd be glad to guide you in the structure of ROMs, and showing you what can be mixed and matched.
PM me. We'll get started.
Click to expand...
Click to collapse
Perhaps, share the information here once you two have things worked out?!
shararti said:
I did search, countless times, everywhere. But as lack of my experience with rom development, it was quite confusing ...
... I'm willing to give my summer to this project and develop this kitchen for the xda community ...
Click to expand...
Click to collapse
XDA is such a huge resource, full of solutions, bricked devices and lost newbs LOL.
After trolling for a few months, I was ready to flash my first WinMo SmartPhone a few years ago. I haven't used a 'regular phone' ever since.
This would be an ideal summer project. As I said, I'm also a Web Developer.
Hit me up for some theme/template ideas. I do most of my work with Notepad++ and Adobe Fireworks CS4.
Goonish said:
I'd use it for sure, would be wicked. Imagine going to this web page on your N1 customizing a ROM, building it and then flashing it. All without going near a computer. Sounds unreal!
Click to expand...
Click to collapse
hhmm, never thought of that!
You're right ... sounds unreal!
Something the iFans would never be able to attain.
Even better, how about, instead of flashing some large file, only the ones affected by an update are flashed, resulting in a much SMALLER file (thus saving on data usage) and a FASTER flashing (saying on battery life).
shararti said:
Hello, i'm a web developer and have no experience in developing android roms. Anyways, i'm planning to develop a free website which will let any developer create an online kitchen for his rom, where users like me can come and bake rom according to their needs. Now as i don't have any experience with cooking roms, i would like a little help from the developers. Help i am seeking in is, what features a fully customizable kitchen has, how to change the update.zip for the changes, and adding applications to the zip. I have a little bit idea, but want a clear process.
Click to expand...
Click to collapse
Well it all depends on what you want. I would suggest you have a base rom without the boot.img stored with minimal capability in a folder. then allow the user to choose what type of kernel and capabilities they would like with it. That will be the minimum amount for a rom. Then you can follow it up with additions such as extra scripts and applications that can be added and moved to the appropriate directories. at the end, you would zip up the selection and sign it, with the appropriate update-script (which should be the same as the stock rom's unless the additions require something drastic)
So the folder tree should look something like this for one specific ROM:
ROM/ROM Core Files (this is the base rom without boot.img)
ROM/ROM Core Files/META-INF (this is for the update zip)
ROM/ROM Core Files/system (this is where the system apps go)
ROM/ROM Core Files/data (this is where certain apps go)
ROM/ROM Kernels (this is where kernels are/boot.img)
ROM/ROM Kernels/boot.img.1 etc
ROM/Modifications (this is where apps and other mods go)
ROM/Custom Build (this is where the baked rom should go)
Then all you need to figure out is how to move everything to the custom build directory
Move the core to custom directory and a boot.img (rename it from whatever it is to boot.img) and then move and modifications to the appropriate directory inside the custom build folder. Then zip the custom build folder and sign it
That should be about right. its 3 am here lol so i may be missing something. pm me if you need more help or post here
Exactly.
The great thing about it. The ROM core files can be optional. You can bake a kernel or you can bake CM w/ custom kernel and custom mods, i.e. modded phone.apk. You can bake anything and everything.
Mmm baking never sounded so good.
Check this website out:
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
My small contribution to this project
The basic kitchen:
forum.xda-developers.com/showthread.php?t=633246
Sorry it's not a link, apperantly new users cannot post links
flybyme said:
So the folder tree should look something like this for one specific ROM:
ROM/ROM Core Files (this is the base rom without boot.img)
ROM/ROM Core Files/META-INF (this is for the update zip)
ROM/ROM Core Files/system (this is where the system apps go)
ROM/ROM Core Files/data (this is where certain apps go)
ROM/ROM Kernels (this is where kernels are/boot.img)
ROM/ROM Kernels/boot.img.1 etc
ROM/Modifications (this is where apps and other mods go)
ROM/Custom Build (this is where the baked rom should go)
Then all you need to figure out is how to move everything to the custom build directory
Move the core to custom directory and a boot.img (rename it from whatever it is to boot.img) and then move and modifications to the appropriate directory inside the custom build folder. Then zip the custom build folder and sign it
Click to expand...
Click to collapse
Ok so after reading it 3 times carefully, this is what i got to:
All roms have same common files, which are:
1. the META-INF folder.
2. the system folder.
3. the data folder.
This is a basic skeleton of any rom, and every rom has these exact files.
Now what i have to do is, when a user cooks a rom, i have to pick the required boot.img and put it into the basic skeleton, in addition to any apps/modifications user want. Then zip the whole package and sign it.
Is that it?
PS: you also said that i may need to change update-script, in what cases that would be required?
PPS: Do i have to make changes to some other files too? cause it sounds too easy to be true =p
shararti said:
Ok so after reading it 3 times carefully, this is what i got to:
All roms have same common files, which are:
1. the META-INF folder.
2. the system folder.
3. the data folder.
This is a basic skeleton of any rom, and every rom has these exact files.
Click to expand...
Click to collapse
They usually have the same folders, not files
the META-INF has the signature files but most importantly the update-script which tells the phone what to do when your flashing the update.
shararti said:
Now what i have to do is, when a user cooks a rom, i have to pick the required boot.img and put it into the basic skeleton, in addition to any apps/modifications user want. Then zip the whole package and sign it.
Is that it?
PS: you also said that i may need to change update-script, in what cases that would be required?
PPS: Do i have to make changes to some other files too? cause it sounds too easy to be true =p
Click to expand...
Click to collapse
that SHOULD be it but remember that you may have to remove some apps from the core files of the rom such as amazon mp3 that people may not want, so you will have to see what apps can be removed and decide whether you want users to be able to remove it or not.
You MAY have to change the update-script if for example you want to put some things in the data partition and symlink them or change the data partition to include the ext partition instead of just for apps. Changes like that are usually for ROMs that are too big to fit properly on the nexus ( youll also have to check the size of the system and data folders to make sure they fit on the phone without modification)
Most of this stuff will be figured out in testing haha but ya at the very basicee its what you have here. You really have to know what you actually want users to be able to cook and then build the kitchen to that effect
flybyme said:
They usually have the same folders, not files
the META-INF has the signature files but most importantly the update-script which tells the phone what to do when your flashing the update.
Click to expand...
Click to collapse
So does that mean i can use same core for all custom baked roms? Except for the update-script, which in rare cases, may need to be altered.
flybyme said:
that SHOULD be it but remember that you may have to remove some apps from the core files of the rom such as amazon mp3 that people may not want, so you will have to see what apps can be removed and decide whether you want users to be able to remove it or not.
Click to expand...
Click to collapse
I took a look at system folder and it's quite populated. Can you tell me what are the basic files that are common for all roms? For the rest of the files, i guess i'll give the user choice to include them or not.
Also can you tell me what is zipalign? Will that be required in baking process?
And to let everyone know, I have already started the working on the kitchen =]
shararti said:
So does that mean i can use same core for all custom baked roms? Except for the update-script, which in rare cases, may need to be altered.
I took a look at system folder and it's quite populated. Can you tell me what are the basic files that are common for all roms? For the rest of the files, i guess i'll give the user choice to include them or not.
Also can you tell me what is zipalign? Will that be required in baking process?
And to let everyone know, I have already started the working on the kitchen =]
Click to expand...
Click to collapse
Well it really depends on what ROM's your looking at. Some devs change the apps to their liking. For example, CyanogenMod has a modified Settings.apk that has features specific to his rom. However, all ROMs have Settings.apk. As such, you will probably have to have a Core ROM folder for each specific rom.
I would suggest looking at other online kitchens and see what features they offer, come up with a specific feature set and then decide what direction that you want to take.
zipalign is a compression technique that optimizes how .apk files are accessed in android. it makes things faster and is not required but would be nice to have. you lose the benefits if you open and modify any files from a zipaligned apk
Let's clear some things up here.
First, core files are not interchangeable between main roms but only flavors of those main roms.
As of now, we have 3 main roms for the nexus one.
CyanogenMod, Modaco Custom ROM, and Desire/Sense Roms.
Each of these roms have their own unique cores amd features and are not interchangeable.
There are flavors of each of these roms.
Flavors of CM has parts that are interchangeable with other flavors but use Cyans core.
Say there is one CM flavor that has some themieing and a few other changes you don't want. You can take the themed files and put them into your CM base and leave the rest out.
You can't put that themeing into a Modaco Custom ROM though.
Kernels I believe are the only things can be put into any ROM base. Most apps are as well.
Now that I look at it. Doing a Nexus One kitchen isn't that difficult but making a full featured HTC kitchen would be a mountainous task. There are so many mods, roms and themes to keep track of. We'd have to designate people from each device forum to feed us the ROMs and parts that are active and functional.
P. S. Lectures are over at 7 today. ill be able to crack down on it with you then
Kitchens are for the Food Network...
well thanks flybyme and APrinceAmongMen, these 2 posts really cleared up somethings. I'm in the process and will keep you guys updated.
QUESTION: how do i change the radio and boot animations in a rom?
PS: the good news is, i'm done with all the hard part, and just few small things remaining. Probably if anything else doesn't comes up, you guys should have a n1 kitchen within few days =D
shararti said:
QUESTION: how do i change the radio and boot animations in a rom?
PS: the good news is, i'm done with all the hard part, and just few small things remaining. Probably if anything else doesn't comes up, you guys should have a n1 kitchen within few days =D
Click to expand...
Click to collapse
boot animations are located either in /data/local or /system/media
radio flash will require you to change the update-script
you can look at the FRF50 update with the radio to figure it out ( or pm me if thats too difficult, its a little late else id do it myself)
Just make sure the radio is excluded by default.
Another thing about radios, the newest radio usually works on older roms, but old radios don't work on the roms released with and after the newest radio.
I have been using aosp's rom v13, within it there are the googleemail and googleexchange apk's
within rom v21 those have been replaced with email and exchange apks
i have ran CRC checksums on those two versions and they're both the email and exchange apks are different between them. The v21 file sizes are substantially bigger but nothing in the change log tells us why.
the gapps from koushes ics thread has different crc's for those apks than aosp's v13 or v21; they don't match either of aosp's included apks.
This could all be nothing but I think we need an answer here.
Can someone talk about what's going on here? Since these are GAPPS they are the most sensitive apps, I'm sure people will get mad for me making a thread about this but I'm honestly surprised no one has questioned this earlier. I trust the dev's, otherwise I wouldn't be here flashing their roms, but that doesn't mean I shouldn't be able to question something like this openly either. I just want to understand why the email apk and exchange apk are so different from rom to rom within the same dev as well as why they're different from dev to dev when they share the same version.
Thanks
You have my support. I would like to know what the explanation is. I don't assume any I'll intent but it is a valid concern.
I looked at each apk content and there are some extra images in aosp version and the manifest file also but I don't think it was him putting it there. My best guess would be that he compiled it using different options.
If I'm not mistaken, email.apk is part of android os and therefore source is available. When compiling from source, not all files will come through the same.
I would still prefer that Jim stops by this thread and explain why his version is different. I'm sure he has a reason.
...and still no reply? Can anyone reach out?
I'd suggest going to the dev's thread, asking the question and linking to this thread.
Did that to no avail. I'm back to gingerbread.
Will someone get access to my emails, etc.? Some fill me up on this? Please.
You can set different levels of compression when making the APK files. Some devs remove stuff and others add, no two will be exactly the same.
Use apktool to decompile the packages and then beyond compare to compare to see the difference.
Most devs deodex the packages so they will be larger when compared to a Nexus dump from Google that has the odex files.
I have checked out most ICS ROMs in this forum and nothing fishy like that is going on. I always look at the ROMs before installing just to be safe.
AndroidUser00110001 said:
You can set different levels of compression when making the APK files. Some devs remove stuff and others add, no two will be exactly the same.
Use apktool to decompile the packages and then beyond compare to compare to see the difference.
Most devs deodex the packages so they will be larger when compared to a Nexus dump from Google that has the odex files.
I have checked out most ICS ROMs in this forum and nothing fishy like that is going on. I always look at the ROMs before installing just to be safe.
Click to expand...
Click to collapse
Thank you! I don't know how to use apktools so I just want to be clear...you've looked at the apk for email and exchange for both the v13 and v19 vs what's included in the gapps from koush and you've determined that they're all actually the same?
For what it's worth, if the dev uses a different system key to sign everything, it will cause the checksums to be off. ODex vs DeODex (Optimized vs nonoptimized) can very easily double things in size. Nothing creepy about that.
In addition, Mail and Exchange are not part of GAPPs, they're part of system apps, meaning the source for them are released (as opposed to GAPPs). This means they go through the compilation steps just the same as the rest of ICS.
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.
Hi,
Could someone please explain the difference between stock, Xposed, GB, CM, or other? I've built pc's and servers but this would be the first time I attempt to fool around with an Android.
Thanks!
Dannym.asdf said:
Hi,
Could someone please explain the difference between stock, Xposed, GB, CM, or other? I've built pc's and servers but this would be the first time I attempt to fool around with an Android.
Thanks!
Click to expand...
Click to collapse
I'll try to keep it simple with this.
1) Stock :- The ROM and Kernel you get from the factory along with your phone.
2) Xposed :- Refers to a set of modules that can be added to the existing ROM to change appearance, add functionality and provide you with features that would otherwise not be available in your 'Stock' ROM option. - Xposed requires you to have root privileges on your phone (i.e super user or admin rights)
3) GB : Gingerbread ??
4) CM : Cyanogen Mod : Refers to the most wide spread ROMs available for android. It offers most features of Stock ROMs coupled with things like a theme engine, dedicated music controls etc.
Head over to the forum rules for a quick look and also see the WIki page for more info : http://forum.xda-developers.com/announcement.php?f=613 .
Have fun messing around :good:
GB
Thank you!
Gravity Box...?
Dannym.asdf said:
Thank you!
Gravity Box...?
Click to expand...
Click to collapse
Ah . That's an exposed module that incorporates several other Xposed modules in a single package
Discontinued.
Awaiting for thread deletion.
Thanks...Nice work after your miui 5 ROM
Help please..
Need someone who can risk his device by testing this ROM......
Happy holi.....
Happy holi my friends...
May this holi bring lots of Colors in your life!! and in mine too.
Kunal Gautam said:
Need someone who can risk his device by testing this ROM......
Click to expand...
Click to collapse
I tried to install but it gives error 7 i think update.script should be rechecked.
Deep_dhimaan said:
I tried to install but it gives error 7 i think update.script should be rechecked.
Click to expand...
Click to collapse
Thank you very much, i've understood whats the problem( as a pm by ashkineeeeee).
New update coming soon. Stay tuned.
Hey bros...
so there were some problem with permissions, it seems that it is fixed now..
Flash the ROM and review here....
----------------------edit 1---------------------
dont flash the rom now!!!
Some files are missing in boot.img
how stupid i am!!
------------------------edit 2-----------------------
Flash it now!
Last build not installed,error 7.
mels01 said:
Last build not installed,error 7.
Click to expand...
Click to collapse
Logs,screenshots?
Try installing from internal storage... Or update your recovery to the latest one by android andi...
Thanks!
Hey, I would like to help out, can I have the link to the ROM?
theportal2 said:
Hey, I would like to help out, can I have the link to the ROM?
Click to expand...
Click to collapse
I agree this message is a bit long but it is worth reading.
- Thanks, but sorry. Even if I give you the links and even if spend your precious time you would only be able to fix the error 7.
- Actually I've already fixed that(or know what's the issue atleast). There are files that are missing from the directories that are listed in the updater script. They cannot be deleted as the original base ROM I compiled was from UA(unlegacy android) that are based on the newer sources.
- Some files that are required for MIUI are also missing.
- Boot.img is incomplete. Which will result in bootloop even if I upload the error 7 fixed ROM.
- I am giving my board exams that are one of the biggest exams in India. And I cannot afford to score less in these.
- All I need is a older base ROM ,CyanogenMod 11 made around may of 2016. And also it must support init.d because the port ROM requires that.
- I've taken permissions from the maker of the port ROM. He has allowed me to proceed.
- All I need is permission from Android-Andi, as only he has older CM ROMs.
- I cannot compile because older sources are not available or maybe I am not known to them
Hope you understand. Thank you.
P.S. - Android-Andi if you read this please reply. You are the only one who can help me(by providing me permissions to use your ROM as a base).
With best regards,
Kunal Gautam
Links
Kunal Gautam said:
I agree this message is a bit long but it is worth reading.
- Thanks, but sorry. Even if I give you the links and even if spend your precious time you would only be able to fix the error 7.
- Actually I've already fixed that(or know what's the issue atleast). There are files that are missing from the directories that are listed in the updater script. They cannot be deleted as the original base ROM I compiled was from UA(unlegacy android) that are based on the newer sources.
- Some files that are required for MIUI are also missing.
- Boot.img is incomplete. Which will result in bootloop even if I upload the error 7 fixed ROM.
- I am giving my board exams that are one of the biggest exams in India. And I cannot afford to score less in these.
- All I need is a older base ROM ,CyanogenMod 11 made around may of 2016. And also it must support init.d because the port ROM requires that.
- I've taken permissions from the maker of the port ROM. He has allowed me to proceed.
- All I need is permission from Android-Andi, as only he has older CM ROMs.
- I cannot compile because older sources are not available or maybe I am not known to them
Hope you understand. Thank you.
P.S. - Android-Andi if you read this please reply. You are the only one who can help me(by providing me permissions to use your ROM as a base).
With best regards,
Kunal Gautam
Click to expand...
Click to collapse
Have you seen this CM 11? https://forum.xda-developers.com/galaxy-tab-2/7-inch-development/rom-cm-11-0-galaxy-tab-2-t3737392
Just made last month by @Deltadroid
Links are removed because *the ROM is not complete yet*.
Thanks, but I need to confirm a few things before I could use a ROM(includes init.d support and a bunch of other things). Also, it is very important that deltadroid provide me permission to use his ROM.
Thank you!
Regards,
KG
-----_edit_--------
I just saw deltadroid's thread, the title clearly says that the ROM is for p3110. I want to make a unified one. I need a ROM made with unified device tree.
If I do port, it will only work on p3110 and maybe on every 7" device. I don't want do this.
Sorry, but yeah thanks!
Just wait till 3 april 2018. Most probably I will upload.
Edit 2
Or I must say it an update. 75 percent of the work is done. Somehow I managed to get a base ROM(only I know how). Only build.prop editing and Updater script editing work left(these are the most difficult BTW).
Update coming soon. Stay tuned.
I've updated the links. I've uploaded the new ROM. I've done with porting(i guess). I've used a lot of time.
Flash and review!
Kunal Gautam said:
I've updated the links. I've uploaded the new ROM. I've done with porting(i guess). I've used a lot of time.
Flash and review!
Click to expand...
Click to collapse
No wonder the ROM doesn't work.... Security patch is in a wrong format.
"ro.build.version.security_patch=2080-17-March"
It should be, "ro.build.version.security_patch=2018-03-01"
or,
"ro.build.version.security_patch=2018-03-05"
And this, hardly doubt this will work, but idk.
"ro.build.date.utc=999999999999"
Mistakes....................
EDIT**** Build id should be the app id: example lets say the id is 678, on build.prop, it would say 678.
you have, "ro.build.id=KUNAL"
secretwolf98 said:
No wonder the ROM doesn't work.... Security patch is in a wrong format.
"ro.build.version.security_patch=2080-17-March"
It should be, "ro.build.version.security_patch=2018-03-01"
or,
"ro.build.version.security_patch=2018-03-05"
And this, hardly doubt this will work, but idk.
"ro.build.date.utc=999999999999"
Mistakes....................
EDIT**** Build id should be the app id: example lets say the id is 678, on build.prop, it would say 678.
you have, "ro.build.id=KUNAL"
Click to expand...
Click to collapse
You, sir, definitely have a lot to offer. I am afraid that this is not the actual problem. By now, I surely understand the importance of logs. Would be very helpful if someone could arrange me them.
And about your post it seemed really rude, raw, insulting and manipulating to me. But however, helpful. It makes it really hard to continue developing for a 6 years old Tab, with hardware that has nothing to offer in 2018. At least, I am trying.
Since, this was an Alpha build(because I moved sources) these problems are sure to arise. I did the same(build.prop things) with my kinda successful ROM MIUI 5(see it in the 7" forums).
I guess you haven't tasted port ROMs yet. They are hard to build. Alike your compiling ones, you have source, type some commands, turn your computer on for about 5 hours, when done upload it.
I am sure you must have did trail and error (in chemistry and math) porting ROMs is just the same. I am sure, that as a developer, you must know what logs actually mean.
But whatever, thank you for you review(insult I guess).
Kunal Gautam said:
You, sir, definitely have a lot to offer. I am afraid that this is not the actual problem. By now, I surely understand the importance of logs. Would be very helpful if someone could arrange me them.
And about your post it seemed really rude, raw, insulting and manipulating to me. But however, helpful. It makes it really hard to continue developing for a 6 years old Tab, with hardware that has nothing to offer in 2018. At least, I am trying.
Since, this was an Alpha build(because I moved sources) these problems are sure to arise. I did the same(build.prop things) with my kinda successful ROM MIUI 5(see it in the 7" forums).
I guess you haven't tasted port ROMs yet. They are hard to build. Alike your compiling ones, you have source, type some commands, turn your computer on for about 5 hours, when done upload it.
I am sure you must have did trail and error (in chemistry and math) porting ROMs is just the same. I am sure, that as a developer, you must know what logs actually mean.
But whatever, thank you for you review(insult I guess).
Click to expand...
Click to collapse
FYI, I port ROMs. It was pointers what to fix, if you wanted to get this ROM better, than it is already.
Kunal Gautam said:
(...)
P.S. - Android-Andi if you read this please reply. You are the only one who can help me(by providing me permissions to use your ROM as a base).
With best regards,
Kunal Gautam
Click to expand...
Click to collapse
Sorry, I won't give permissions after different people used my ROMs as base in the past without permissions. Hope there is a learning affect....
Since i love OpenSource: Sources are available on every official GitHub (slim, Omni, Lineage, UA) and up to date (note: I wouldn't have to do this, I could keep all device trees private but I am updating them for everyone - always). You'll have to compile your own base ROM to use for such port ROMs (I am not a fan of).
Android-Andi said:
Sorry, I won't give permissions after different people used my ROMs as base in the past without permissions. Hope there is a learning affect....
Since i love OpenSource: Sources are available on every official GitHub (slim, Omni, Lineage, UA) and up to date (note: I wouldn't have to do this, I could keep all device trees private but I am updating them for everyone - always). You'll have to compile your own base ROM to use for such port ROMs (I am not a fan of).
Click to expand...
Click to collapse
Thank you. For at least replying. You works will always be appreciated. Now, I am gonna close this thread. Thanks again!