Creating a flashable zip from a git commit - Android Q&A, Help & Troubleshooting

Hi guys, first i want to say that i'm a noob in android developing and i'm trying to learn, so don't kill me for my ignorance. I must also say that i'm not english, so pardon my bad english. Said this, let's go to the point: i want to create a flashable zip of PA's HALO
for my stock and rooted nexus 4. For all i know i must take the commit files and merge them in my decompiled ROM's folder, compile them and flash (or maybe try to run it in an android emulator first?) Well i'm facing a lot of problem: 1 i can't even get git commit files (yes i have git installed) 2 even if i succeed to get the files and compile my ROM and it all works flawlessy i don't know how to make HALO as a flashable mod (i don't even know if it's possible) So, can someone please post here some links where i can learn how to accomplish this (or something similiar, it's just for learning) Also, is someone else interested in doing this? It's just a suggestion ^^
Thanks to all
P.s. Sorry if it's the wrong section.
P.p.s. Error in the title, should be "Create a flashable zip from a git commit"
Sent from my Nexus 4 using xda app-developers app

You can't. Halo is deeply ingrained in the frameworks and system.
Wayne Tech Nexus

Related

[DEV] Help about compiling from AOSP + Mods

Hi everyone,
I have some question regarding the AOSP compiling.
Hope you will help me and that It will help others.
Synopsis:
- I get the source
- I extracted files
- I setup my environment
- I "lunch" full_passion-user
- I "make"
Story:
The output folder is out/target/product/passion
In here there is a system folder and a system.img file.
If I change something in the system folder, a make applied the changes and I can fastboot flash.
When I'm modding an APK (lets say an XML), I rm the APK in the system folder so that it will be re-compiled.
Now I'm trying to incorporate Mods from Cyanogen, Wysie etc.
So I rm -rf the concerned folder (lets say packages/app/X), rm the APK in the system folder and then "make X".
But I always get errors regarding System.System preferences etc.
"symbol does not exists" such as ORIENTATION_180 etc.
And I have a lot a problems to incorporate modded frameworks/base and frameworks/policies/base.
Questions:
- Is this the faster way to update an APK (rm then make)?
- Will "make" alone re-done the all out folder?
- HowTo incorporate modded apps / frameworks?
- HowTo add System.System preferences?
Thx a lot for all your answers
Might not be much help since you know about this but i would say check this out http://developer.android.com/guide/index.html
you can find everything you want there.
johnnie93 said:
Might not be much help since you know about this but i would say check this out http://developer.android.com/guide/index.html
you can find everything you want there.
Click to expand...
Click to collapse
well thx for that but you can guess I know the link.
The fact is English is not my native language.
So:
- I might have missed something
or
- It does not tell how to merge a mod into the AOSP
Thx anyway
Did you check this ?
http://source.android.com/source/life-of-a-patch.html
johnnie93 said:
Did you check this ?
http://source.android.com/source/life-of-a-patch.html
Click to expand...
Click to collapse
Yeah... well I'm sorry but the only thing I understand of this is the way OFFICIAL patches are merged into AOSP.
Still can't found out how to properly merge mods into AOSP...
But thx again
Shoukd I ask in Dev forum?
No one here is compiling from AOSP and merging Mods?
Actually I kind of hal-answered one of my four questions:
http://github.com/CyanogenMod/andro...mmit/8ef3c6aa9ef3b9b2b855318327b5ed6c02b85fdc
This is how add a System.System or System.Secure setting... just put a var into the class
EDIT:
I now successfully build.
Thx.
Thread closed.

[Q] Looking for a dev to teach me

hey everyone, I've been with android since release on the g1 and have followed it since. but now I'm tired of being just a user and want to learn how to develope roms. I would rather have some one teach me first hand, but links to some places that helped you would be great too. So again, Im looking for a dev who would want to teach me, if some money is wanted, that's fine. thanks for reading. reply here and/or PM me. I am very serious about learning, I dont just want little tips/tricks or pointers.
Edit: I have a bit of skill in C++ and Java, but nothing too significant. I lost interest in writing programs, same with apps, no interest, everything has been done over and over again.
I have created a site specifically just for this. I have a link in the signature but feel free to just click here @green rom project
stoute said:
I have created a site specifically just for this. I have a link in the signature but feel free to just click here @green rom project
Click to expand...
Click to collapse
Thanks alot.
thank you too
I didn't find anything there that isn't here on xda.
JDV28 said:
I didn't find anything there that isn't here on xda.
Click to expand...
Click to collapse
Maybe, but for new users in building roms, it's easy if it is gathered in one place, instead of searching all over xda that sometimes you can get yourself lost
What ARE you looking for?
Sent from my DROID2 using Tapatalk
jbirdvegas said:
What ARE you looking for?
Sent from my DROID2 using Tapatalk
Click to expand...
Click to collapse
Some sort of a guide to developing roms. even porting. not an "all in one" guide. thats unrealistic and would most likely suck, seeing as its such a broad subject.
that site, is... i dont even know. not to insult you, but i found it to be useless. the single guide you have on there is for setting up the htc kitchen, which i figured out in 5 minutes on my own. I would suggest making a "Guides" section of that site, so it isnt JUST forums, and adding, well, GUIDES. you pointed me there to help me, but there was nothing on the forums even close to helping me.
What os are you running? Have you succesfully compiled the source yet either aosp or cm?
CyanogenMod's github is a great place to learn repo the source. Read the commits @ github.com/cyanogenmod all commits are commented to make reading changes easier.
Aosp is also on [email protected] github.com/android building aosp can be more tricky.
Cm is aosp with many custom packages included to see what is and isn't aosp [email protected] github.com/CyanogenMod/android
default.xml contains references to what packages are cyanogen and what is aosp
Either way you need to start by getting very familiar with
github.com/CyanogenMod/android_vendor_cyanogenmod
Look in the products folder at the .mk files
and how they are invoked by core/Makefile in
github.com/CyanogenMod/android_build
Also pay attention to build/envsetup.sh
Sent from my DROID2 using Tapatalk
How noob at developing are you?
Sent from my DROID2 using Tapatalk
jbirdvegas said:
How noob at developing are you?
Sent from my DROID2 using Tapatalk
Click to expand...
Click to collapse
your last post was quite helpful. Barely anything at all.
best bet start by getting the source to compile... sounds simple but can be tricky
most importantly get to know ~/android/system/build
you can't produce a custom rom without understanding when and how everything is compiled
JDV28 said:
hey everyone, I've been with android since release on the g1 and have followed it since. but now I'm tired of being just a user and want to learn how to develope roms. I would rather have some one teach me first hand, but links to some places that helped you would be great too. So again, Im looking for a dev who would want to teach me, if some money is wanted, that's fine. thanks for reading. reply here and/or PM me. I am very serious about learning, I dont just want little tips/tricks or pointers.
Edit: I have a bit of skill in C++ and Java, but nothing too significant. I lost interest in writing programs, same with apps, no interest, everything has been done over and over again.
Click to expand...
Click to collapse
Android Kitchen will be your best bet. Very easy to follow. Read the whole post at least twice and you will be good to go. Follow all the links.
This is what i used from the ground up and i have my own rom on my HTC EVO 4G.
http://forum.xda-developers.com/showthread.php?t=633246
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
http://theunlockr.com/2010/04/15/ho...m-for-android-part-2-creating-your-first-rom/
Credit goes to dsixda. he created android kitchen. If you like this, please donate to him.
"Dont forget to hit the thanks button if i helped you"
I'm new to the Dev world myself... I've done a lot of reading and research and I've gotten to the point of building and modding Roms to contribute to the community here. I've only done rom's for the Eris, which isn't as complex as some of the other devices, but I'm willing to share my knowledge if you need it.
The basics you will need:
1. Linux (I've tried doing this in windows, not worth the hassle!), either ubuntu or linux mint work well (Mint is a windows "like" os, so it might be easier to start with that).
2. Android SDK Kit (You can google it)
3. APK Manager (If you need to decompile APK's to make changes, this tool makes things a lot easier!)
4. Android Kitchen (A must if you are porting and to keep your Rom's cleaned up!)
5. A working understanding of XML and some java code is extremely helpful!
6. Time and Commitment! Devving, by any standard, is a time consuming process! You can easily make a Rom, but keeping the masses happy requires updates to nightly sources and time to rebuild what you've started!
I've spent so much time updating, compiling, modding and theming that my family voices plenty of complaints! But, the reward of building something that works and seeing others benefit from your creation is well worth the effort! Balancing your time, if you have a family to consider, is key to succeeding with this!
If you'd like more help, send me a PM! I'll work with you as much as I can!
I setup the kitchen, as i previously said, but didnt find any use for it except maybe adding minor features to a completely stock rom. i have linux set up with the SDK. i just dont know where to go from there...even compiling from source
Read everything here
http://wiki.cyanogenmod.com/index.php?title=Building_from_source
Sent from my DROID2 using Tapatalk
JDV28 said:
I setup the kitchen, as i previously said, but didnt find any use for it except maybe adding minor features to a completely stock rom. i have linux set up with the SDK. i just dont know where to go from there...even compiling from source
Click to expand...
Click to collapse
Sent you a PM back, bro.
Having Linux, SDK and the Kitchen setup gets you about 75% of the way there!
The basic steps to compiling from source run through the Terminal in Linux. You will need to pull in the CM repository (the link jbirdvegas posted will give the instructions to do that). Once the repository is setup, you will need to load the proprietary files for the device you're building for in order to sync the correct source. (repo sync -j16 will sync the source and build your folders for compiling). You will need to plug in your phone through USB and extract the proprietaries through ADB. Example, my build location in Linux is "android/system" in that folder there will be a device folder with folders for each device brand and build. My eris is listed in CM as desirec, so my drive folder location is "android/system/devices/htc/desirec". In order to pull my proprietary files, I would have to do the following:
1. In terminal; "cd android/system/devices/htc/desirec" (This puts me in the correct build folder)
2. su (puts terminal in root) - type in password
3. "./adb kill-server" (shuts down adb)
4. "./adb start-server" (starts adb)
5. "exit" (puts you back in standard terminal)
6. "./adb devices" (verify your device shows - if you get ????????, adb did not start right)
7. "./extract-files.sh" (this will extract the proprietary files from your device and place them in the device folder for building)
8. "cd"
9. "cd android/system" (puts you back in the CM build folder)
Once that's done, all you basically need to do after that is:
"source build/envsetup.sh" (Setup source build)
"lunch" (this will give you a list of builds - pick your device)
"make -j# bacon" (# is the number of processors your phone has +1)
The Repo Sync and Make commands will take time, but once you've finished the Make cycle, your Rom (if there were no errors) will be compiled, signed and ready to flash on your device. From there, you can use the kitchen to add "tweaks" to your rom (CM sources are usually pre-setup, but you can still add things like "data/app" access to your Rom).
Hopefully this takes you to the next step. PM me if you run into problems, I'll help you through it.
If you get abd shows your device as ??????????
Google 51-android.rules on how to setup udev
Sent from my DROID2 using Tapatalk
jbirdvegas said:
Read everything here
http://wiki.cyanogenmod.com/index.php?title=Building_from_source
Sent from my DROID2 using Tapatalk
Click to expand...
Click to collapse
about 50% of those pages are empty, does it matter what phone i click on for now? nothing shows up for Glacier
JDV28 said:
about 50% of those pages are empty, does it matter what phone i click on for now? nothing shows up for Glacier
Click to expand...
Click to collapse
jbirdvegas has it right on the adb correction if your device isn't found. I'll look for setting up the rules and post the link a little later.
Glacier doesn't have instructions yet, but there are CM builds for it. If you follow the evo instructions that will get you setup. Just replace supersonic with glacier to get your device established. There wasn't one for the Eris, either, and the EVO instructions are what I used.
Also, if you're building for GB and you're on a 32-bit system, it will tell you you cannot build it. There is a bypass; I'm using a 32-bit system and just removed the "end" statement in the make file. My builds work just fine, so bypassing the environment won't mess up your builds...

Applying an edited Framework.apk

Sorry if this is a noobish question!
I'm currently working with the CyanogenMod 9 ICS source, and I'm looking at some files for Framework.apk (specifically frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/SettingsView.java) and I'd like to make a few changes, just to play around and learn. Now my question is, how would I go about adding this to my ROM? Would I have to run `. build/envsetup.sh && brunch otter` again (otter being for Kindle Fire), and have to take the update.zip file and flash it through recovery? If so, is there anything that I'd have to wipe for it to work properly (like /system)?
Thanks for the input!
Chiggins said:
Sorry if this is a noobish question!
I'm currently working with the CyanogenMod 9 ICS source, and I'm looking at some files for Framework.apk (specifically frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/tablet/SettingsView.java) and I'd like to make a few changes, just to play around and learn. Now my question is, how would I go about adding this to my ROM? Would I have to run `. build/envsetup.sh && brunch otter` again (otter being for Kindle Fire), and have to take the update.zip file and flash it through recovery? If so, is there anything that I'd have to wipe for it to work properly (like /system)?
Thanks for the input!
Click to expand...
Click to collapse
Make -j4 SystemUI then push it to your phone.
Sent from my SGH-I777 using xda premium
Sweet deal, thanks for that!

Noob question about source compiling.

I just got done initializing the AOSP JB_SOURCE for the Nexus 7, and am getting ready to attempt a first build, I'd also like to be able to compile CM10 and who knows maybe others but CM10 for sure. My question (although I'm pretty sure the answer is yes) is do I now have to make a new SOURCE directory for CM10 and repeat the process of downloading the whole thing locally for each build I'd like to attempt i.e. CM10, AOKP,MIUI
ect. If so the 150gb I used to create my virtual hard drive isn't going to be enough. I apologize in advance if this question is posted in the wrong place
and I did search first. Thank you.
Vektor67 said:
I just got done initializing the AOSP JB_SOURCE for the Nexus 7, and am getting ready to attempt a first build, I'd also like to be able to compile CM10 and who knows maybe others but CM10 for sure. My question (although I'm pretty sure the answer is yes) is do I now have to make a new SOURCE directory for CM10 and repeat the process of downloading the whole thing locally for each build I'd like to attempt i.e. CM10, AOKP,MIUI
ect. If so the 150gb I used to create my virtual hard drive isn't going to be enough. I apologize in advance if this question is posted in the wrong place
and I did search first. Thank you.
Click to expand...
Click to collapse
For each different ROM type (aosp cm etc.) you need different source code as they are different ROM
Sent from my LG-P350 using xda premium
Sorry it took so long, Thanks for the response. So it seems that for each particular flavor of Android I need the whole source repo synced to my machine.
That doesn't apply to different devices does it? I have an SGS 3 d2spr, and a Nexus 7 it would be fun to run a self built os for each.
Vektor67 said:
Sorry it took so long, Thanks for the response. So it seems that for each particular flavor of Android I need the whole source repo synced to my machine.
That doesn't apply to different devices does it? I have an SGS 3 d2spr, and a Nexus 7 it would be fun to run a self built os for each.
Click to expand...
Click to collapse
No it doesn't apply you just need different device folders and when you compile you use the folder you want.
Sent from my LG-P350 using xda premium

What is compiling?

Hi,
As a noob i came across a word related to android "compiling". What does compiling exactly mean?
Not very experienced with android but compiling usually means converting codes to executables
Sent from my LT30p using xda app-developers app
Zip->unzip
Compile->install
sony xperia ray
ics 4.0.4 rooted
stock rom
126 posts on XDA and you still don't know how to use Google or a dictionary?
snapper.fishes said:
126 posts on XDA and you still don't know how to use Google or a dictionary?
Click to expand...
Click to collapse
i do but i am not sure does compling mean making a rom?
Nono...see in terms of android.
Decompiling= breaking some files into many parts
Compiling=Joining the broken parts to get back the original file back.
Its usually associated with Decompiling and Compiling apk files to mod them or stuffs.
Dont worry we all were "noobs" once
TarunDham said:
i do but i am not sure does compling mean making a rom?
Click to expand...
Click to collapse
It's not too different from the usual programming definition of compiling. When you write a programme, you write it in a higher language that reads almost like English (unless if you are a nut case/genius who likes coding in assembly). However, for a computer (in this case your phone) to run it you have to translate the programme into machine readable language first. This translation process is called compiling.
Sent from my Nexus 4 using Tapatalk 2
---------- Post added at 01:11 AM ---------- Previous post was at 12:59 AM ----------
Rittik said:
Nono...see in terms of android.
Decompiling= breaking some files into many parts
Compiling=Joining the broken parts to get back the original file back.
Its usually associated with Decompiling and Compiling apk files to mod them or stuffs.
Dont worry we all were "noobs" once
Click to expand...
Click to collapse
I am afraid that is not the correct definition of compiling. The apk file is just a zip file of media files and code. When you break apart an apk file all that you are doing is just unzipping. The codes are still inaccessible. To be able to read them humanly you need to decompile the codes, which is usually impossible. That is why people need to post source codes.
Compiling takes quite a bit of computing power and can take hours if your code is long. Packaging and signing an apk? Not si much.
Sent from my Nexus 4 using Tapatalk 2
phew........... dat was a lot... hahaha i read a tutorial here that says "compile a gingerbread rom" so will that tut make me a gb rom??
It should, just make sure it's meant for your phone
Sent from my Nexus 4 using Tapatalk 2
snapper.fishes said:
It should, just make sure it's meant for your phone
Sent from my Nexus 4 using Tapatalk 2
Click to expand...
Click to collapse
here's the link
http://forum.xda-developers.com/showthread.php?t=1598713
so what do u think?
That guide was for porting roms made for other devices using roms that already exist for your device. For example, someone has already made a cm7 rom for your device, but you want a miui rom. Since miui is based on cm7, you can use the guide to create a miui rom for your device. However, if nobody has made a cm7 rom for your device, you cannot use that guide to port miui rom.
If you read the guide carefully, it's just a while load of copy and paste work, hence not compiling. The guide teaches you to take advantage of existing work done by other people instead of starting from the scratch, but it can't teach you to build a rom from scratch.
Sent from my Nexus 4 using Tapatalk 2
snapper.fishes said:
That guide was for porting roms made for other devices using roms that already exist for your device. For example, someone has already made a cm7 rom for your device, but you want a miui rom. Since miui is based on cm7, you can use the guide to create a miui rom for your device. However, if nobody has made a cm7 rom for your device, you cannot use that guide to port miui rom.
If you read the guide carefully, it's just a while load of copy and paste work, hence not compiling. The guide teaches you to take advantage of existing work done by other people instead of starting from the scratch, but it can't teach you to build a rom from scratch.
Sent from my Nexus 4 using Tapatalk 2
Click to expand...
Click to collapse
i totally agree with you but in the start of the post the guy says "Android Source | Compile GB | Compile ICS | Compile JB ~ Thanks dastin1015 |- Building/Compiling - Durations" what does that mean? will the link to the tut help me make a gingerbread for my ics based device??
and last advice will porting any roms to my device has any threat to it like bricking???
I took a look at those links. The first link is simply what it says - the basic source code for Android. The other compile links contain instructions on how to compile the source code into roms. They do not teach you how to write the source code for different devices, which is the most difficult part of porting a rom. Anyone can learn to compile a rom from pre written codes. It's the writing part that matters. You need to find the drivers and other proprietary codes for your device.
The guides can help you get started on making a gingerbread rom, but it won't fix the hundreds of bugs you are sure to encounter.
As for bricking, there's always going to a chance that flashing a rom might brick your device.
Sent from my Nexus 4 using Tapatalk 2
snapper.fishes said:
I took a look at those links. The first link is simply what it says - the basic source code for Android. The other compile links contain instructions on how to compile the source code into roms. They do not teach you how to write the source code for different devices, which is the most difficult part of porting a rom. Anyone can learn to compile a rom from pre written codes. It's the writing part that matters. You need to find the drivers and other proprietary codes for your device.
The guides can help you get started on making a gingerbread rom, but it won't fix the hundreds of bugs you are sure to encounter.
As for bricking, there's always going to a chance that flashing a rom might brick your device.
Sent from my Nexus 4 using Tapatalk 2
Click to expand...
Click to collapse
thaknz a lot for ur help
To sum up in basic words, compiling is turning a code from a high language into machine code so the computer can read it.
Also , if you din't know what is compiling i don't think you should be making roms

Categories

Resources