thanks to this page for teaching me: http://www.robmcghee.com/android/creating-an-android-update-zip-package/
note: although i am copying this from the page, this isnt a straight ctrl+c, ctrl+p from it. ive rewritten it with slightly more english. ok alot more.
before we start, grab ppcgeeks auto signer here, or nothing will flash anyway. its the easiest method since its drag, drop, and click.
also i recommend 7-zip but its not necessarily needed.
first step, make the folder structure.
ive included prebuilt updates to make it a little faster for you. they contain no actual files, just the appropriate folder structure and update script. they must be resigned if you add files and expect to flash them.
if what your looking for isnt included, make a folder and name it "workdir". this will contain your work.
this is just to make it easier to organize all your stuff. if you feel so inclined you can name it whatever you want, it doesnt really matter.
next youll need to make folders inside the workdir according to where your flashing stuff, ie if your flashing wallpapers youd need to make a structure that looks like this: "workdir/system/customize/resource"
next to make the update-script. this tells the system what to do.
first make this folder structure: "workdir/META-INF/com/google/android"
make sure you capitalize "META-INF"
now put a text file into the "android" folder and call it "update-script"
the easiest way to code it would be to copy this into it:
Code:
show_progress 0.1 0
copy_dir PACKAGE:(x) (X):
set_perm_recursive 0 0 0755 0644 (X):(y)
show_progress 0.1 10
replace the (x) with the directory in the root your flashing to in lowercase, ie system or data or sdcard.
replace the (X)'s with the same thing as (x) except in UPPERCASE such as SYSTEM or DATA or SDCARD.
replace the with the next directory in lowercase like media or app or customize.
note: if your adding to the root of (X) folder then leave this blank, no spaces or anything.
if your flashing an app it should look something like this:
Code:
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10
after youve done that, save and close the file. now you need to take the extension off of the text file. simply delete the .txt at the end of the file.
if there is no extension showing, make sure you have "hide extensions for known file types" unchecked in tools> folder options> "view" tab.
second to last step! compress the workdir contents into a zip file, not the actual workdir though. it should look like this inside the zip: "update.zip/(folders)" not "update.zip/workdir/(folders)"
finally, sign the zip with the auto signer and put it into the root of the sd card.
boot into recovery and flash it up! with a bit of luck, it should work.
if you have any questions, problems, or concerns just post them. i have instant subscription to this thread and will be notified every 30 min when my evo fetches my mail.
Thanx for this thread!
Ok, my app should be installed in /system/app/
but is it possible to include in the same (app)update-script: delete /data/app/xxx.apk?
What directories do boot animations go into?
Awesome thread and thanks btw.
Foxwolfe said:
What directories do boot animations go into?
Click to expand...
Click to collapse
/data/local/
rori~ said:
Ok, my app should be installed in /system/app/
but is it possible to include in the same (app)update-script: delete /data/app/xxx.apk?
Click to expand...
Click to collapse
honestly, i couldnt tell you for sure but i dont see why you couldnt
Foxwolfe said:
Awesome thread and thanks btw.
Click to expand...
Click to collapse
thanks
I keep getting a syntax error. I am trying to flash silent.mp3 so i can select that in my notifications, because for some reason it does not have that option :/
can you let me know where I went wrong?
have tried both
set_perm_recursive 0 0 0755 0644 SYSTEM:media
set_perm_recursive 0 0 0755 0644 SYSTEM:notifications
but to no avail
what was the whole code in the update-script?
did you use the example i posted?
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:media
show_progress 0.1 10
daktah said:
what was the whole code in the update-script?
did you use the example i posted?
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:media
show_progress 0.1 10
Click to expand...
Click to collapse
yeah, sorry for not making it clear. Im kinda rote-learning this atm, I did a straight copy of your notifications script into my flashable-zip. when that didnt work I tried it with line3 modified as a stab in the dark.
what does the entire folder structure look like? if I am changing notifications is it /system/media/audio/notification where I put the files?
i believe it is
Code:
workdir.zip/
_system/
__media/
___audio/(files).mp3
_META-INF/
__com/
___google/
____android/update-script
if you still cant get it going i can assemble it for you
Just wanting to be sure here because Ive read the first post a few times and still can't tell. On the root of the update.zip I am supposed to create the folder structure that I want it to flash too. (ie. media/audio/ringtones) and then place the actual file that im flashing in that directory. (ie media/audio/ringtones/newring.mp3) At this point then the whole .zip dir would look like:
update.zip
__media/
_____audio/
_______ringtones/
__________newring.mp3
__META-INF/
_____com/
_______google/
___________android/
_______________update-script
_____CERT.RSA
_____CERT.SF
_____MANIFEST.MF
Then just sign the .zip and flash it... Is this correct?
You got it
Wow sounds real complex just to add an mp3 for a ringtone. I know if you create a file on sdcard
media/
audio
alarm
notifacation
And then put the file you want for what you want into the folder you want it for it will show in dropdown menu so you can select it.
Been trying to get googles auto app builder program to force download the sdk for devices so i can start there first. Want an app that forces mms to the sprint max of 5mb send limit and not stocks 2mb or handsents 1.2 limit. Will doing this according to thread give me an app that does this? What would i need to change? (guess you could make it faster than trying to teach me but still wonder)
jpwhre said:
Wow sounds real complex just to add an mp3 for a ringtone. I know if you create a file on sdcard
media/
audio
alarm
notifacation
And then put the file you want for what you want into the folder you want it for it will show in dropdown menu so you can select it.
Click to expand...
Click to collapse
thats true but installing saves space on the sd card and makes it load instantly instead of waiting for the sd card to be prepared
jpwhre said:
Been trying to get googles auto app builder program to force download the sdk for devices so i can start there first. Want an app that forces mms to the sprint max of 5mb send limit and not stocks 2mb or handsents 1.2 limit. Will doing this according to thread give me an app that does this? What would i need to change? (guess you could make it faster than trying to teach me but still wonder)
Click to expand...
Click to collapse
what? im lost lol
On wm arcsoft had a setting in the app that lets you change settings and change size limit to 500kb. You can also make these changes in regeditor. Android doesn't have a registory nor does there seam to be an app to install that will allow these changes. Wondering if your tutorial thread would allow the building of an app and what would i need to change to do this. Googles app builder program doesn't come preinstalled with any sdks and on a slow connection i can't get it to download.
if your saying building an app as in coding and assembling one then no as this is just a guide to make an installable zip to flash with ra or clockwork. youd need to use the sdk tools and such for that. but this guide should allow you to install pretty much anything into the nand from ringtones to apks and the like.
daktah said:
i believe it is
Code:
workdir.zip/
_system/
__media/
___audio/(files).mp3
_META-INF/
__com/
___google/
____android/update-script
if you still cant get it going i can assemble it for you
Click to expand...
Click to collapse
finally got adb to stop sh***ing itself. did it that way.
thanks for the help anyway.
so, i'm by no means an expert at this... but i was trying to make an update.zip for wallpapers. i've attached what i did, if you could take a peak at it and give me a pointer, that would be awesome!
path to my wallpapers...
using launcherpro
data/app/com.fede.launcher-1.apk/res/drawable-hdpi
data/app/com.fede.launcehr-1/apk/res/drawable-mdpi
granted, I'm trying to flash a theme, but it seems like the process and folder/file structure would be the same.
I've followed the steps one by one, but after flashing the .zip in recovery and rebooting, everything looks the exact same as it did before! I figured I would start with framewor-res, and see if I could get that to work before I started working on all the other images, but even after modifying all images, straightening out the .9.png's, and compiling everything correctly in Eclipse, I get nothing.
I have no effing clue what's going on, any ideas?
im on a mac, any suggestions for what i can use to sign the zip? i have apk manager and thempro and they can both sign apps but i dont know if its okay to use them to sign a flashable zip
Hi man!
I'm not do a Update.zip yet with your tutorial, but i have a question:
some Update.zip have a file named updated-binary together with update-script, how i do that file? because when i try to flash via OpenRecovery say's that coul'd not find that file: update-binary...
Sory for my english, i'm from Argentina, and i try not to use Google Translate...
Regards!!!
PS: Great work with this tutorial!!!
Hi,
First of all is it possible?
If it is, has anyone tried to extract Swype from Telstra's RUU and install it in another Wildfire?
Tried extracting the installer but was unsuccessful.
Thanks in advance
I've tried to extract (and was successful), but when I tried to execute it gave me a FC. I guess it was because libSwypeCore.so was not in the /system/lib folder.
Like busybox in my other thread, every time I tried it gave an error.
Something like:
# ./busybox cp /sdcard/libSwypeCore.so /system/lib/
cp: can't create '/system/lib/libSwypeCore.so': Cannot allocate memory
# cd /system/lib
# cat /sdcard/libSwypeCore.so > libSwypeCore.so
cannot create libSwypeCore.so: not enough memory
# mv /sdcard/libSwypeCore.so /system/lib
failed on '/sdcard/libSwypeCore.so' - Cross-device link
# dd if=/sdcard/libSwypeCore.so of=/system/lib/libSwypeCore.so
/system/lib/libSwypeCore.so: cannot open for write: Out of memory
I really need to know how to copy files to the /system folder.
http://rapidshare.com/files/419489818/swype-telstra.zip
MD5: BDE9ACBCFD58AD39EC11A4859ADEBE3B
Ok I think I found a way
Just edit the APK and put the libSwypeCore.so in the lib/armeabi folder, zip the files and sign the APK.
It runs nice and no FC I will edit the APK (again) to include the Portuguese language.
Could u please upload it
Sent from my HTC Wildfire using XDA App
@ricardoft : Edited the Swype.apk
Put the libSwypeCore.so
Under
Swype.apk
->Lib
---|>armeabi
---------|> libSwypeCore.so
Is this right ? repacked the apk as above attached with the post.
I got "application not installed" as error message
I wonder how to repack it then :|
I am using the 1.54 Version for QVGA , Works fine in Portrait mode , hides some keys in Landscape.
I've been busy with the University but here is the modified APK.
http://rapidshare.com/files/419569794/Swype-signed.apk
MD5: 56338F5EE8D53BE3A22EFE6CB96E1A7C
It still has some issues. One of them is when choose Swype for the Input Method it still crash. Don't know why, but I think it still has something to do with the libSwypeCore.so.
i wouldnt mind doing this as i basically paid for it when i bought the phone...
using a clockwork backup i was able to extract the apk and libSwypeCore.so
butwhen i put the lib in place and installed the apk i just get blue flashing outline of keyboard and no output text...
Hello
I would like to use Android on my HD2. I was searching and testing many ROMS but I didnĀ“t find any rom which is usable for me. I would like to have a ROM that is without Sense, has Multilanguage support and is on Android 2.2 version.
So I decided that I would make my own.
0) I was reading
HTML:
http://forum.xda-developers.com/showpost.php?p=10291851&postcount=1
and made this procedure.
1)downloaded some ROM from here
2)unpacked this rom in linux with :
Code:
unyaffs system.img
then I got this directories:
Code:
app bin build.prop etc fonts framework lib media usr xbin
3)I downloaded update-cm-6.1.1-N1-signed.zip from CyanogenMod Forum > Downloads > Stable Mod > Nexus One and unpacked. I got : META-INF system boot.img.
4)I copied everything what was described step 0 from directories from step 2 to directory system from step 3
5)I downloaded and copied build.prop from step 0 to system
6) I updated permition like it is described in step 0
7) I created system.img with command : mkyaffs2image . ../system.img
Then I copied this system.img from linux to my windows and put this file in directory in which was different NAND rom. (replaced system.img). After that I flashed my phone and it did not work. Screen was frozen after booting and only green HTC was on display.
Can somebody please help me and give me some advice or some small howto. Does anybody know what can be wrong?
UPDATE: If I unpacking any nand roms and packing back everything is ok They must by any problem in me procedure of creating.
Thank you
Michal Fichtner
I'm creating a cooked rom based on the stock rom ita LT9 4.1.2, you can change the battery in the status bar without Xposed? I would include the circular battery with percentage inside. decompiling an apk? which one?
stefano_te said:
I'm creating a cooked rom based on the stock rom ita LT9 4.1.2, you can change the battery in the status bar without Xposed? I would include the circular battery with percentage inside. decompiling an apk? which one?
Click to expand...
Click to collapse
I think it's enough that you throw it into the SystemUI.apk(have a look inside that apk, if it's not there then it is in secframework.apk) (/res/.../XHDPI). Open the apk in winrar (you might have to rename it from .apk to .zip) and drag and drop the new files. Decompiling isn't necessary for this sort of thing.
Also, check this out:
http://forum.xda-developers.com/showthread.php?t=1918500
I did this a long time ago so some of what I just said might be wrong, if you need more help then just say so.
I would like to use as a basis the stock rom 4.1.2 : N7000XXLT9_N7000ITVLT3_ITV.zip
I used the kitchen to create workfolder following all the steps suggested by the program , I found the following problems:
1 ) during the procedure appeared to me the following warning :
Warning : A valid boot.img is not found . You have the option to add a
' fake ' boot.img So THAT the features of the kitchen can still
function normally.
This boot.img will be automatically removed from your ROM 's
ZIP file When Is It built .
Add boot.img (y / n)? (default: y) "
is this normal? how to solve ?
2 ) Working folder information ( v)
Android OS version: 4.1.2
Device: GT- N7000
Model: GT- N7000
ROM Name : JZO54K.N7000XXLT9
CSC version: It 's normal that there is nothing written here ?
Rooted ( Superuser app + su) : NO
Rooted ( unsecured boot.img ) : UNKNOWN how I fix this ?
BusyBox installed : NO
BusyBox run-parts support: UNKNOWN UNKNOWN how I fix this ?
Apps2SD (Apps to EXT) enabled: NO
/ data / app enabled: NO
Custom boot animation allowed : NO
Nano text editor installed : NO
Bash shell support: NO
/ system / framework is deodexed : NO
/ system / app is deodexed : NO
modem.bin found: YES
ROM will wipe all data : NO
3) throughout the META-INF folder there are only 2 files: update-script; update-script.bak
4) scripts / get_api_level: line 18: more: command not found
5) I checked the update-script and there are 3 warning in the report:
7/101: copy_dir PACKAGEystem SYSTEM:
8/101: format PRELOAD:
>> WARNING: Partition not recognized
9/101: copy_dir PACKAGEreload PRELOAD:
>> WARNING: PRELOAD: not found in working folder
10/101: symlink dumpstate SYSTEM:bin/dumpcrash
11/101: symlink toolbox SYSTEM:bin/cat
82/101: set_perm_recursive 0 2000 0755 0755 SYSTEM:bin
83/101: run_program PACKAGE:create_preload_symlinks
>> WARNING: create_preload_symlinks not found in working folder
84/101: set_perm 0 3003 06755 SYSTEM:bin/ip
How do I resolve this? I tried a lot of on-line but have not found anything. My goal is to make me a custom rom from the last stock (LT9) ... what should I do?
Check my old tutorial I used myself when cooking Custom Roms for the N7000 with the kitchen. Following the steps should avoid most problems.
ThaiDai said:
Check my old tutorial I used myself when cooking Custom Roms for the N7000 with the kitchen. Following the steps should avoid most problems.
Click to expand...
Click to collapse
CREATE WORKING FOLDER FOR ROM
==============================
Ensure there is at least one ROM under the 'original_update' folder!
Select an option:
s - Show supported formats
x - Abort, don't create working folder
Or press Enter to continue?
Please wait ...
scripts/choose_rom: line 110: more: command not found
Enter selection number (default=1, cancel=0, r=refresh):
is a problem? I can go on with 1 (default)?
stefano_te said:
CREATE WORKING FOLDER FOR ROM
==============================
Ensure there is at least one ROM under the 'original_update' folder!
Select an option:
s - Show supported formats
x - Abort, don't create working folder
Or press Enter to continue?
Please wait ...
scripts/choose_rom: line 110: more: command not found
Enter selection number (default=1, cancel=0, r=refresh):
is a problem? I can go on with 1 (default)?
Click to expand...
Click to collapse
Sorry, but only repeating the problems you actually have won't solve anything because it isn't really clear what you did before.
The error here seems to be a hint that your cygwin installation isn't correct.
So please try to follow the steps in my tutorial exactly. Start from scratch.
ThaiDai said:
Sorry, but only repeating the problems you actually have won't solve anything because it isn't really clear what you did before.
The error here seems to be a hint that your cygwin installation isn't correct.
So please try to follow the steps in my tutorial exactly. Start from scratch.
Click to expand...
Click to collapse
It works. I have re-installed windows ...
can you tell me how to add new info in device info? (rom name, rom maker, release date, build version ...)
stefano_te said:
It works. I have re-installed windows ...
can you tell me how to add new info in device info? (rom name, rom maker, release date, build version ...)
Click to expand...
Click to collapse
No. Because you do this partly when using the kitchen step by step. Or when changing your updater-script.
The kitchen is a great help and simplifies cooking a rom - but it still is a little bit more complicated than heating baby food in the microwave. And if you really want your "custom" rom you should start to learn what happens in each step. And this can't be done by revealing everything...
So Hello everyone, i got interesting problem...
I bricked my phone
Phone: SM-9005
OS: Android 4.4.2
Firmware: N9005XXUGNG1
Recovery: TWRP 3.0 installed.
Root software installed which may be interesting "Xposed Additions, Lucky Patcher, SuperSu, Greenify"
Step by step.
// maybe helpful - cache / dalvik cache wiped and after reboot i started playing stuff
I used Root Browser (com.jrummy.root.browserfree) to copy 2 directories from my /downloads to /system.
There were /lib & /bin which contained unique libs and one executable so this would not affect system if everything went ok, but i didn't
After i started coping, root explorer asked me that "File already exist, overwrite or make a copy"? i pressed overwrite, in same second all apps in android started to generate "unexpected error", i tried to reboot and got boot into recovery
after i watched /system i found that what i tried to copy actually copied not to /system/lib & /system/app but to /system/system/lib & /system/system/app.
So i think there was some folder or file called system in /system directory which was overwritten. Or any kind of problem with dir / file permissions.
Any ideas of how to fix this / what was in /system/system / where to get bootlog to find after what "kernel panic" takes place or any other help?
Thanks.
// maybe somebody with same model version, same os version can upload zip file of own /system folder without /apps, /priv-apps and build.prop so i can compare whats lost compared to my data?
Fixed myself, root browser set wrong permissions to /system while was coping files... set back to 755 and it works