Hi,
I really like all the Android builds that use the Desire ROM as I really like the HTC Sense. However, my language isn't really supported there (The fonts exist but the formatting is bad).
I have some files that should fix the formatting, but they are meant for the original HTC Desire and are installed by going to the ROM Manager/Recovery Mode and then choosing an option called: "Install Zip from SD Card".
Since I can't go to this ROM Manager nor get into Recovery mode with the HD2 Builds I am looking for an alternate way to change the system files on the Android build I am using.
The thing is that I am having difficulties doing so.
At first I tried using EStrongs File Explorer to get root access and copy over the new files I want to change but it gave me an error that it failed.
After I couldn't make it work I started looking for ways to open and edit the system.ext2 file in Windows.
I couldn't find any program or driver that would let me change the files, but only view them so I decided to install Linux and do it from there.
I used VMware workstation to install Ubuntu on my system.
On Ubuntu I mounted the system.ext2 following the mentioned instructions here: http://forum.xda-developers.com/showpost.php?p=8001443&postcount=8
It mounted okay but it said there was 0 bytes free when I tried to overwrite the files I wanted to change.
In addition it gave me permission errors, the error was that I did not have permission to copy the files.
I am not that familiar with Linux and I tired googling for answers but couldn't find anything useful.
I would appreciate if anyone can explain how to do it, or direct me to somewhere with more details as I'm kinda stuck at the moment.
The files I wanna change are:
/framework/framework.jar
/app/.DS_Store
/app/Gallery3D.apk
/app/Mms.apk
And a few font files to /fonts
Thanks a lot!
It is best to mount the ext2 file as you suggest but instead of trying to modify the file, copy the contents into a new folder and use the genext2fs command to recreate the system.ext2 file!
Hey man, it worked perfectly.
Thanks a lot!!
By the way, is there a recommended file size for the system.ext2? Or should I just keep the original size?
Is it worth setting it bigger? Will it benefit somehow?
I'm looking for a guide which tells how to make a own custom ROM from another one
I mean:
1. How to add/replace/remove apps in /system/app/?
1. a) Do they need to have special permission?
2. How to replace boot screen?
3. How to add custom kernel?
4. How to add Desire lockscreen/flip clock?
5. How to add transparent notofication area?
6. How to add Power menu?
I've been serching forum, but didn't find such tutorial. Would be very thanful to get this knowledge.
I think that will be very useful for maaaany android maniacs
1. Simple delete/copy apks in .zip file using 7-Zip or any other.
2. I belive you need to put bootanimation.zip in /data/local/ folder.
3. Idk
4. For Desire lockscreen you need edited HtcLockScreen.apk; for flip clock - HtcClockWidget.apk
5. Edited /system/framework-res.apk or /system/framework/com.htc.resources.apk. I'm not sure
6. You need edited /system/framework/android.policy.jar
69. Resign your zip file using Auto Sign
Attachment doesn't load, but I know about resigning ROM after everything is done
Ad. 1. As I thought, but do the need special permissions? And I also wonder one thing. Are they installed while flashing? Cuz they need to be in system registry, I think...
I have found this: http://wiki.android.com.pl/wiki/Kon...iana_instalowanych_aplikacji_razem_z_systemem
No any permissions etc.
Found this, too. Thanks.
to add a custom kernel you have to unpack the boot image and edit the ramdisk manually, although i think there is an option in dsixda's kitchen to unpack and repack the boot.img
I've got two more questions:
1. When signing, three files are created in folder META-INF: CERT.RSA, CERT.SF, MANIFEST.SF. But in other packages I see also com/google/android/update-script in META-INF. How to make it? Is it necessary?
2. If I want to make only flashable update file which changes one app or another file, eg. framework-res.apk, I have to create folder structure: system/framework/framework-res.apk, add it to zip archive (no compression?) and sing using Auto-sing. Am I right?
Edit:
Found nice guide there: update-script syntax
tomekk_nt said:
I've got two more questions:
1. When signing, three files are created in folder META-INF: CERT.RSA, CERT.SF, MANIFEST.SF. But in other packages I see also com/google/android/update-script in META-INF. How to make it? Is it necessary?
2. If I want to make only flashable update file which changes one app or another file, eg. framework-res.apk, I have to create folder structure: system/framework/framework-res.apk, add it to zip archive (no compression?) and sing using Auto-sing. Am I right?
Click to expand...
Click to collapse
The most important part of a recovery update zip is the update script. It will tell the recovery what to do. If you want an example of a basic update package, which replaces one file in the /system/framework (although a different one) can found here. Open this and read the META-INF/com/google/android/updater-script (or whatever its called). The syntax is pretty straight forward and I think its easiest to learn from the examples of updater scripts found here on XDA. For the simple case, of only replacing/adding files to the /system partition you can leave the updater script from the above example as is and only change the files under the /system directory in the zip.
Note, that the above example uses the newer upader-script (I hope I am writing this correctly, I am writing from memory) which also has a binary file in the same directory. Some update zips use the older "update-script" lone text script. For these kind of scripts, you can find a guide here.
Personally, I use RA recovery, and for this recovery you need to sign the update zips (last thing you do of course). At least for RA recovery, both the older "update-script" and the newer "updater-script" work fine, so its up to your personal preference which do you prefer.
Thanks. Found a guide you mentioned a couple of minutes ago and read it.
The more I know, the more questions it brings So one more thing. If I'd like to use the newer version of syntax: "updater-script", I need also to put this binary file in this folder. But I create/edit only "updater-script", binary file is the same for all packages, or do I need to edit it, too?
I built a kernel tool long time ago, very easy to use (only for linux)
1: unzip the file, place it where you want it eg your desktop
2: place boot.img in the working directory
3: double-click the menu icon or launch from terminal
4: it creates a new directory named BOOT-EXTRACT,edit what you want in there or change the kernel etc.. and repack it again via the kernel tool
see screenshot. here for those how want the tool >>> http://www.elelinux.se/tools/kernel_tool.zip
Edit: Only for Hero
tomekk_nt said:
Thanks. Found a guide you mentioned a couple of minutes ago and read it.
The more I know, the more questions it brings So one more thing. If I'd like to use the newer version of syntax: "updater-script", I need also to put this binary file in this folder. But I create/edit only "updater-script", binary file is the same for all packages, or do I need to edit it, too?
Click to expand...
Click to collapse
Only the updater-script. The binary is a replacement of the script-interpreter I think, but thats just an assumption.
elelinux said:
I built a kernel tool long time ago, very easy to use (only for linux)
Click to expand...
Click to collapse
And that's a good reason to install newest Ubuntu Thanks!
riemervdzee said:
Only the updater-script. The binary is a replacement of the script-interpreter I think, but thats just an assumption.
Click to expand...
Click to collapse
That's mine assuption, too, but would like to know it for 100%
Edit: I see you use it in your kernel update package. So you write only updater-script and place also update-binary next to it?
LOL, you've got help from every well known hero dev on xda, I'm sure you'll have all the info you need now to start building rom's. Good Luck!
Found an app called Easy Flashable zip Builder on this thread. Will test it soon.
tomekk_nt said:
Found an app called Easy Flashable zip Builder on this thread. Will test it soon.
Click to expand...
Click to collapse
But it is for MS Windows, or saw I wrong ? I have also built a tool to javasign files,but should probably write a manual first,it is easy to use but some dependencies maybe not so easy for a beginner with Linux.
tomekk_nt said:
That's mine assuption, too, but would like to know it for 100%
Edit: I see you use it in your kernel update package. So you write only updater-script and place also update-binary next to it?
Click to expand...
Click to collapse
Correcto
Hello all,
I am looking for a good comprehensive guide to creating my own .zip files to flash certain changes I like to make when flashing a rom or just adding files.
Now I have found a few good guides here on XDA but they seem to no longer apply as the update script needs to be in edify and not amend. This is the issue I am having so if anyone can point me to a walk through that explains this type of thing I would appreciate it.
Anyone?
lol, i dont think developers/people-with-knowledge would go into a Q&A sub-forum .
I'm neither on of them, however here is my would-be-successful attempt p) :
1- Make all your modifications and finalize them, the root folder must be /system/ .
2- use apktool to recompile as an apk (apktool b system)
3- sign that .apk.
4- rename extension to zip and violla
theoretically, it should work.
Not shure if this can help you, but i created a zip (original Script is from dungphp) to replace files on my device from CWM:
http://forum.xda-developers.com/showthread.php?t=1241244
... to "flash" or otherwise install theme type mods such as changing a notification icon, without recovery? I had experimented with framework type flashable zip files to do with on my GS3 and always flashed from recovery. I am trying to (at least for now) keep from tripping my KNOX.
Also is there a wifi hotspot app or mod that also does not require recovery?
With a towel root, I can probably do everything I want, and keep my KNOX at 0, if I can do these two things.
Bob
ParrSt said:
Is it possible? ... to "flash" or otherwise install theme type mods such as changing a notification icon, without recovery?
Click to expand...
Click to collapse
Sure. It's just more work. Having root gives you the necessary permissions to change system files and do anything that a (recovery) flashable zip file would.
But pragmatically, it wouldn't be reasonable to expect everyone going around writing custom install scripts for your theme mods when the common practice is to package them as a flashable zip.
The solution? It would be eminently useful to learn how to make manual changes yourself. Theme mods typically modify a system file e.g. TouchWizHome.apk or SystemUI.apk. You can make simple edits or replace packages with a root aware file browser e.g. FX. And more advanced edits with a decompiler like apktool.
.
fffft said:
Sure. It's just more work. Having root gives you the necessary permissions to change system files and do anything that a (recovery) flashable zip file would.
But pragmatically, it wouldn't be reasonable to expect everyone going around writing custom install scripts for your theme mods when the common practice is to package them as a flashable zip.
The solution? It would be eminently useful to learn how to make manual changes yourself. Theme mods typically modify a system file e.g. TouchWizHome.apk or SystemUI.apk. You can make simple edits or replace packages with a root aware file browser e.g. FX. And more advanced edits with a decompiler like apktool.
.
Click to expand...
Click to collapse
Oh I don't expect others to make my scripts. I was making the zip packages myself.
If I understand you correctly, I can use something like FX to replace the an icon in one of the .apks? Those are zip type files but FX can do that?
As I already said, yes you can. Icons are (usually) especially easy. It's literally just replacing an icon with a file browser, usually in the xxhdpi360 drawable folder of the apk.
Something like
Copy the apk to another directory or your PC
Temporarily rename the .apk to a .zip file
Use FX Root to browse the compressed file and locate the icon you want to change.
Delete the icon from the zip.
Drag and drop the new icon to replace it.
Rename the .zip back to .apk
Browse to the folder where you copied the apk from
Rename the original .apk to .bak in case you need it later
Move your modified apk to the directory
Confirm that the permissions are still 0644 (long press to check.. but I've never seen FX mess them up to start with).
Reboot
That may look like a lot of steps but they are all trivial and you can do the entire thing in about 60 seconds.
Features e.g. suppressing nags or some colour changes may require decompiliing an apk.
.
I have the PAC source downloaded and now I want to figure out how to add other features from either github or wherever to it. There's some things from the xposed framework that I'd like to implement in the ROM but I'm not sure how to go about doing it. I'm new to android programming, just been porting PAC to my phones that don't have support. Any help is greatly appreciated.
Help injecting features or settings
I use file manager pro from cheeta mobile to open the rom.zip then copy and paste the system/file context/meta inf /and any other files in the zipped folder to the ExtSdcard1 root directory, then open the copied files which will be opened for modifications, then add the mods directly to the appropriate locations ( use this method(very slow) or use an apk decompiler to make your changes to apps. There are instructions for that on xda forums. But since the update to lollipop we have seen the new compression format change to system.new.dat file compression so if you want to modify lollipop roms you have to find (Optimized) version or use the dat file decompiler to translate the system.dat.new file or others in that format to readable/writable or understandable format. Let us know if this gets you on track or if you have solved this issue, thanks.