Edit roms before flash - G1 Q&A, Help & Troubleshooting

I want to make my own rom based on the cyanogen rom. I want to add a few apps and remove a few that already exist.
I have tried using the adb but it wont uninstall the ones I dont want.
I would like to mod a rom before I flash it, Is there a how to for this?
Thanks,
Dubstar_04

I dont think there's a how-to, but I can type a quick one in a jiffy;
Tools;
A computer (Windows PC in this example)
7zip (google it)
The rom you wish to modify.
Either JRE or JDK (so you can run java apps) (google it)
JF's testsign.jar (google it)
Method:
Install 7zip in your computer. Also install the Java runtimes so you can run java apps through the console (ahem, command prompt).
Unzip (if it's not already) your testsign.jar and place it somewhere easy on your HDD (C:\, for example, doesn't get easier than that). Also place the rom you wish to modify in the same folder.
Open the update.zip file (or whatever it's called) with 7zip (you can do this by either using the command dialog (right click) and selecting 7-zip > Open Archive, or by going right-click > Open With > Choose Default Program and select "Always open with this program" with 7zip FM (file manager)).
Once it's open, navigate to the folder system/app and remove in there any apks you don't want in there (for example, I always remove VoiceSearch.apk, VoiceDialer.apk, SystemUpdater.apk, Talk.apk, and when available, SpareParts.apk, com.mp3.amazon.apk, and a few others). That is basically the uninstall process. If you have the apks for the apps you wish to install, you can drag them into the 7z windows at this point too (if you have hboot spl, you have a lot of space in system, so dumping them here is safe). If you don't have the apks, but you have them installed in your phone, you can use adb to get them. Just make a folder in your desktop called app (or whatever you wish) and run adb with your working directory in the desktop (C:\users\myname\desktop). The adb command would be: adb pull data/app app. This will place all the contents of downloaded apps (free ones) inside the app folder in your desktop as apks. I don't know that there's anything you can do at this point about paid apps.
Anyway, once you're done deleting and adding apks to your zip. Close the 7zip window (it saves the changes automatically, you should have kept the window open through the whole process).
Open up the command prompt again, and change your working directory to C:\ (usually cd ../..), then, if you placed all like I told you to, you can just run; java testsign updatenamewhateveritis.zip
Ofcourse, replace updatenamewhateveritisi.zip with the name of the update, but I recomend renaming it to update.zip beforehand so you don't have to type a lot.
After it's done signing, the rom is ready to flash.
Good lucks to you

Wow...Good explanation.
I have few questions.
-Do i need the jar sign thing?
-Can I create a flasheable update.zip to "add/remove" apps to a fresh flashed rom? (I mean, flash a custom rom and then apply update.zip which can add and remove apk ), or do you recommend to modify the zipped rom instead of creating a update.zip ?
Many thanks

Depending on your recovery you can just toggle on/off if you need a signed zip or not. This is a very old thread and I imagine it was much harder to push apps into /system back then or to remove /system apps for that matter. With root access there are many apps you can do this with now, or with adb or terminal emulator
What is your purpose for this by the way? I feel there may be easier ways to accomplish what you're after
Sent from my GT-I9100 using xda premium

Thanks for answer
Yeah...it's and old thread, but actually it saved me to post a similar topic thread again :good:
My purpose? Not developing anything nor cooking rom. I just found at http://wiki.cyanogenmod.com/wiki/Barebones that i can safely uninstall apks that i don't use. So i uninstalled some of then, and i was thinking, in case of reinstalling the rom or flashing a new version of it, how to erase the unusefull apks(for me at least) in one step.
I think the easiest way is removing them from the zipped rom before flashing.
What do you think?

yes you can unzip and rome .apks, but then you will have to sign it unless your recovery allows unsigned zipps. why not flash the rom as is, remove all the unwanted, add what you like, then make a nandroid copy of the way you like it. this can then be flashed whenever
Sent from my HTC Vision using xda premium

Oh...the sign thing!
Anyway, there are few useless apks, so i think i can do it manually after flashing rom.
Hey. I'd like to know what nandroid is...
I use CWM recovery to backup/restore data/rom and I use Titanium Backup for the applications. So what the **** is nandroid. I mean, is an apk? Is a boot tool? And what can i do with it?
Thanks a lot dude!

it is the backup you make in your recovery, you will make either a nandroid backup or bart backup. depending how it is done it will be an exact copy of your rom, apps, call log, etc. any thing stored to you phone @ that "recovery" point
it gets its name from nand (the nand flash memory) and android, some recoveries may just call it a backup
Sent from my HTC Vision using xda premium

Related

creating personalized roms

my question is this, say for example I have my phone setup just as I like with the theme of my choosing, htc music app instead of the stock android app in the cyanogen mod. i would like to be able to create a rom from this setup that I could then just load on my phone as oppsed to loading a cm mod, then installing music player, then installing the theme. before the flaming begins, i tried the search to no avail. i am aware of how to sign the zip and all of that. just a point in the right direction would be MUCH appreciated.
Its something I would like to be able to do as well. According to Haykuros twitter hes going to be making a video about android rom cooking soon so that should help
jholt0130 said:
my question is this, say for example I have my phone setup just as I like with the theme of my choosing, htc music app instead of the stock android app in the cyanogen mod. i would like to be able to create a rom from this setup that I could then just load on my phone as oppsed to loading a cm mod, then installing music player, then installing the theme. before the flaming begins, i tried the search to no avail. i am aware of how to sign the zip and all of that. just a point in the right direction would be MUCH appreciated.
Click to expand...
Click to collapse
This should've gone in the Q&A section. Will probably get locked soon.
But in response to your question, I guess you could grab the CM rom, then grab the theme you use and overwrite the files in the rom, and then overwrite the music app with the HTC music. Resign and you got your update.zip customized how you want it.
xidominicanoix said:
This should've gone in the Q&A section. Will probably get locked soon.
But in response to your question, I guess you could grab the CM rom, then grab the theme you use and overwrite the files in the rom, and then overwrite the music app with the HTC music. Resign and you got your update.zip customized how you want it.
Click to expand...
Click to collapse
Thanks for the help and my apologies for the wrong section
how do you resign it?
joey3002 said:
how do you resign it?
Click to expand...
Click to collapse
by searching.
Stericson said:
Automatic version!
Do not use this to sign APK files in Vista or windows 7! It will cause your theme to loop phones when placed on a device. Only use this to sign update files if your using those O/S's
Note, this will not work if your SDK or the path that you place this in has any spaces in the dir name!
An Example of this is c:\users\Nikki and Stephen\sdk\tools
Try to put the SDK and the contents of the zip in a dir where the names are all together and not like the one above.
I have made a batch file that will automate the entire process of setting up to use the signing tool made by JF. This batch file will set the CLASSPATH, set the PATH, install the registries, and will even allow you to sign files manually if you wish. I plan on building onto this batch file to include other things. However, for the moment, it will only include what you see here.
In order to use this you should have downloaded the sdk already. Simply extract all of the files into the tools dir of your sdk, and run autosign.bat follow the instructions and go through the options one by one, starting with 1 working through 4. You can however, put the contents of this zip anywhere on your computer and it will work. It is just better to put them into the tools dir of your SDK. Especially for the consideration of future versions.
Autosign .zip: http://www.fightforthepits.com/Androidstuff/signing.zip
Want to set up the signing tool manually?
Here is the link for the signing tool: Http://www.FightForthePits.com/testsign(2).zip
Before using this you need to know how to set this up:
Now you will need to add the tools dir of your sdk to the environment variable CLASSPATH.
FOR XP:
Right click on My Computer click properties, then choose the tab that says advanced.
Click the button that says environmental variables.
Go to system variables find the one that says CLASSPATH
double click it
go to the end of variable value.
There should be a semicolon ; at the end, type in the path to the testsign.jar located in the tools directory of your SDK
for example the path to my testsign.jar was c:\sdk\android-sdk-windows-1.0_r1\tools\testsign.jar
If CLASSPATH is not in your system variables then create it.
Secondly, Find the system variable called PATH and add to the end of it, the full path to your sdk directory.
For example, mine was c:\sdk\android-sdk-windows-1.0_r2\tools
FOR VISTA:
Open a cmd prompt.
Replace THEEXACTPATHTO-TESTSIGN with the path to the dir that holds the file testsign.jar.
Type:
echo %CLASSPATH%
If it is returns %CLASSPATH%
Type the following:
set CLASSPATH=THEXACTPATHTO-TESTSIGN\testsign.jar
If it comes back with something else then
Type the following:
set CLASSPATH=%CLASSPATH%;.;THEXACTPATHTO-TESTSIGN\testsign.jar
For Example, when I type this it looks like:
set CLASSPATH=%CLASSPATH%;.;c:\Android\SDK\tools\tests ign.jar
To set the PATH
Replace THEEXACTPATHTO-SDK with the path to the tools dir of your SDK.
Now type:
set PATH=%PATH%;.;THEXACTPATHTO-SDK\tools
For example, when I type this out it looks like this:
path-%PATH%;.;c:\Android\SDK\tools
Now through doing this you have done two things, first off you have made the resigning process extremely easy, secondly you will not have to cd to the tools dir of the sdk to use adb or any other tool in the sdk.
Signing the Files:
Now right click the reg file that you extracted and choose to install it, or merge.
Now, right click an apk, do you see an option that says ResignApk? That's how you will resign your .apks and .zips.
When you choose it a cmd window should open for a few seconds and then close. the file you signed will be overwritten with the new resigned file.
If you find the right click menu not working for some reason you can type the following in cmd to sign your files: java testsign whateverfiletosign
Click to expand...
Click to collapse
.apk's not showing up after flash in resigned .zip
Ok, so I've created a ROM to my liking. All the .apk's I normally use and got rid of the ones I don't. My problem is after I customized the ROM and flashed it none of the .apk's I added showed up. The only ones that showed up were the paid apps. I never opened the .apk's and made changes. I assume I don't need to change them to .zip resign and back to apk. Do I? I am using Windows 7 though and am able to resign no problem. Thanks to anyone who replies.

Standalone apk installer with adb

I made a little file where u can drag'n'drop files u want to install on ur phone.
No need of any settings.
When your phone is allready "adb ready" you dont need to have anything running.
Just take the apk File and drag on the exe and it will install. thats all.
perhaps i'll add more features soon. i made it for myself, to install the apk's faster after a full-wipe i made.
In Windows7 and Vista, it needs Admin rights (so it asks when starting) and AFTER its done, it gives an error. But it works how it should!
so don't worry
PS: Doubleclicking it won't do anything! Its Drag'n'Drop only!!
Another one by me
copy and paste the following into a file and save it on your desktop as install.bat (or whatever you fancy)
@echo off
adb install %1
pause
Then drag and drop files onto it, or associate apk files with install.bat and double click an apk file and will install to your phone.
htcmagic said:
copy and paste the following into a file and save it on your desktop as install.bat (or whatever you fancy)
@echo off
adb install %1
pause
Then drag and drop files onto it, or associate apk files with install.bat and double click an apk file and will install to your phone.
Click to expand...
Click to collapse
What do u want to say with ur post?
Did i made any question? i think not, so what r u explaining and for WHO??
It's just what i made in my "tool".
Made little bigger better Tool with 5 Options now
if anyone wants it, its at the bottom.
Now u can install apks, uninstall non-stock apks, push and pull files to & from /system/app/ and reboot ur phone.
ahhh, and not it wont make any errors or need for "admin rights" when starting the tool.
Works like a charm and now it has an Sketched android in it ! Yeehaaa
your program (the install part) doesnt really work. it doesnt install. i found that making the batch file was better.
hmm ok, thats weird. for me the new tool works perfekt.
And it IS a batchfile, i just merged the needed files from adb and the .bat file to one exe file. thats all.
do u get any error when trying to install ?
You do drag and drop the file to the exe and choose install apk, right?
Geeze, are people these days so lazy that they can't move their hand off the mouse? Just type the command!!!! Its easy... "adb install {file.apk}".
You know, back in the dark ages of not very long ago, NOBODY had a mouse. Or drag and drop. EVERYTHING was on the keyboard and involved typing commands.
If you guys want and you are running Windows, check out our app. www.androidmanager.net ... we added feature for installing apk-s by double-clicking few days ago

com.androidmegastore.livewallpaper.gogreen.zip

I installed this from the market on my legend rom. I have created a nandroid backup of that rom and I'm now rockin the nonsense rom from team-slide (great rom by the way!). However I'm trying to find this on the market now and it seems like it is nowhere to be found. I've tried a variation of searches with no luck. So I thought, well I'll just restore my legend rom backup and adb pull the file from there. It was located in the /data/app as a .zip file while the other apps were .apk. Anyhow I was able to pull the file and its now on my computer. I then did a restore to my nonsesnse rom but I'm unsure how to get the zip file back on the phone. I can adb push it on there but it doesn't 'install' it per sey. Any ideas on how to get this app back on the nonsense rom?
You can place the apk on the sd card and then on the phone you can use astro to install it. If that doesn't work you can connect to the pc and use the "adb install" command.
Sent from my HTC Mytouch 3G Slide using XDA App
Part of the problem is that I don't see an apk file. The file is actually .zip in the /data/app path. The other files in the /data/app path are .apk files. Am I missing something here or is the apk file in another path? When I unzip the file on my computer there are multiple folders. If I had the actual apk then I might be in business. Any suggenstions on where it might be hiding?
go to app private in the backup that u got the zip from there should b the apk
update - app private had the apk, installed and working fine, thanks for all the help. So is it safe to say if it is a zip file the apk will always appear in app private? Why make this different from the other apks? Is it just developer specific i guess?

[Tool] Inject Apps to ROM for Installation

If you're like me, you probably have installed a new ROM at least once a week. I usually use Titanium Backup to restore all my Apps, but it takes quite a long time since I use a lot of Apps. Also, if you don't have the Pro version of Titanium Backup, you will need to click through the Install button for every App you want to install.
This program is a simple way to fix that. What it does is it injects you Apps as part of the ROM when you install a new ROM. This way, as soon as you install your ROM, your Apps will already be installed as part of the ROM.
I have only tried this with the latest Team Whiskey Onyx ROM, but it should work with most, if not all ROMs.
Also, not all Apps can be installed this way, especially if you try to include the data. YMMV.
INSTRUCTIONS
Prepare your computer
1. Install Java JRE and SDK.
2. Install 7-Zip. It can be found here: http://www.7-zip.org/
3. Download Testsign.jar. It can be found here: http://www.robmcghee.com/android/creating-an-android-update-zip-package/. Download the file "Testsign.zip" and extract it. Testsign.jar should be in there. You will need this later.
4. Set up your windows Path Environment.
a. Go to your Control Panel and open "System."
b. For Windows 7, you will need to click on "Advanced System Settings."
c. Go to the "Advanced" tab.
d. Click on the "Environment Variables" button.
e. Under "System Variables" find "Path." Select it and click on the "Edit" button.
f. A window should pop up a field for "Variable value." In there, you will want to add your 7-Zip and Java SDK bin path. At the end of "Variable value," add (without the quotes)
";C:\Program Files (x86)\Java\jre6\bin;C:\Program Files\7-Zip"
It might be slightly different for you if you're not using a 64-bit Windows. Basically, this step is to allow you to run the Java and 7-Zip command-line tools from anywhere in your system.
5. Reboot your computer.
6. Test to make sure you can run the Java tools and 7-Zip tools. Do this by running "cmd." A command-line prompt should appear. In there, type "java" and hit enter. The usage info for running java should appear. Now type "7z" and hit enter. The usage info for 7-Zip should appear. Your computer is now set up to run my batch file.
Prepare your Apps
WARNING: Not all Apps work using this method, and not all data can be restored using this method. If it doesn't work, you can restore it using Titanium Backup and it should work fine. Once you find that a certain App doesn't work, you should probably remove it from your App/Data folder (read below) so it doesn't install next time using this method.
1. Get all your APKs and data. The easiest way I know how to do this is by using Titanium Backup to make a backup of all my Apps.
2. Use Titanium Backup and back up your Apps.
3. Inside your SD Card, you should have a TitaniumBackup folder. All your Apps and data are in here. Every App you have backed up in Titanium should have 3 files. A .properties file, a apk.gz file, and a tar.gz file. The apk.gz file will contain your APK. The tar.gz file will contain your data. You can extract these files using something like WinRAR.
4. Extract your APKs and put them in a folder called "data\app". Extract your App's data and put them in a folder called "data\data". Your "data\data" should look something like this "data\data\com.appname".
5. Once this is complete, you can use this APK/data set for any future ROMs.
Create your ROM with your Apps
1. Put AppToROM.bat, testsign.jar, your data folder, and your ROM's zip into the same folder.
2. Drag your ROM's zip onto AppToROM.bat.
3. The batch file will now start creating your new ROM for you. It will do the following steps:
a. Extract your ROM.
b. Copy your data to the extracted ROM folder.
c. Zip everything back up.
d. Sign the new Zip.
4. When everything is done, you should have a "NewROM.zip" file. Use this new Zip file to install your ROM like you normally would.
Disclaimer:
I take no responsibility for any harm that this may do to your device. All of the tools here, except the bat file, I did not write. I just created a bat file that puts all the tools together to make it easier to install your Apps after installing a new ROM.
or you could just open your update.zip and place your apks in system/app re-zip and flash. Done this multiple times and it works. just need to keep a copy of your apks on your computer. ill try this method tonight. thanks
If you put it into "system/app" it will install it as a System app, and I believe you can't uninstall it regularly (kind of like how you can't install the bloatware). You will need to use Titanium Backup to uninstall it.
Also, I remember reading that some people were not able to install the ROMs after zipping it up because it's not signed.
This script is very simple. It basically just unzips the ROM, copies over your apps, zips back the ROM, and then signs it. Once you have your Windows set up, you can just drag and drop the ROM to the .bat file and it'll do all that for you.
Is this useless? Maybe. But, the same could be said for something like RyanZA's OCLF. You can sit there, type in all the commands to convert to EXT2, wait for it to convert, and reboot, or you can just run OCLF (which is basically just running a script for the conversion, to put it simply).
blackerwater said:
or you could just open your update.zip and place your apks in system/app re-zip and flash.
Click to expand...
Click to collapse
Why not just put them into data/app instead?
or you could just...
Or you could just download a pro version of titanium backup so that it can restore all your apps without you needing to click. There are plenty to be found online. The latest version, the better, as it would be more stable with froyo
So doing things this way... since it will be signed, i can also take other things out form other roms that i like and toss them in this rom??
I have titanium paid version. Just run it and it does everything
Sent from my SGH-T959 using XDA App
Dude it's called WinRAR. Open up the zip. Drop your apps into the data/app folder.
Then flash it. Simple.
Want certain apps to stay even after hard resetting? put them in system/app
This tool is completely unnecessary.
That's really a good idea. I like the method very much, it give me more free time to do some other things when flashing...Thanks !
Anderdroid said:
Dude it's called WinRAR. Open up the zip. Drop your apps into the data/app folder.
Then flash it. Simple.
Want certain apps to stay even after hard resetting? put them in system/app
This tool is completely unnecessary.
Click to expand...
Click to collapse
Ditto. This seems way more complicated then the method I've been using. You say it's simple that there are like 20 steps.
yeah and CWM has the option to toggle signature verification.. so you can flash unsigned apps on the vibrant.. but if you use 7zip it doesnt mess with the sig...
epakrat75 said:
Why not just put them into data/app instead?
Click to expand...
Click to collapse
Or that should work. And as for signing problems I us ubuntu and ive never had that happen but I guess with windows anything is possible.
Sent from my vibrant
Etrnaly said:
If you put it into "system/app" it will install it as a System app, and I believe you can't uninstall it regularly (kind of like how you can't install the bloatware). You will need to use Titanium Backup to uninstall it.
Click to expand...
Click to collapse
$adb shell
$su
#rm /system/app/CrappyBloatwareAppOfChoice.apk
Done.
No need for titanium.
Sorry for the noob question
Anderdroid said:
Dude it's called WinRAR. Open up the zip. Drop your apps into the data/app folder.
Then flash it. Simple.
Want certain apps to stay even after hard resetting? put them in system/app
This tool is completely unnecessary.
Click to expand...
Click to collapse
When you say your apps do you mean your .apks thanks

[Guide] Simple guide to theming ANY ROM

A lot of people have asked in various threads lately about getting this theme on x rom, or can someone port this theme for me, etc. It really isn't that hard. It actually is pretty much a simple matter of copying and pasting. This will work on any ROM, and it only takes a few minutes, easy enough for an amateur to do it.
1. First, download the ROM that has the theme that you want on your current ROM.
2. Extract framework-res.apk from /system/framework and rename it to framework-res-old.zip and then right click it, and click extract all. Just extract them to currentdirectory\framework-res-old, which should be the default option anyway.
3. Take your current ROM, and extract framework-res.apk from /system/framework, and repeat step 2 except name it framework-res-new.zip.
4. Browse to the framework-res-old\res folder and select all of the folders starting with "drawable", such as "drawable-mdpi"
5. Browse to the framework-res-new\res folder and paste those folders, it should prompt you to merge and replace files and all that jazz, just click yes and do for the next x conflicts. It will copy and replace all of the image files.
6. Go back to the root of your framework-res-new folder, highlight all of the contents, right click, Send to > Compressed (zipped) archive
7. Windows will re-zip framework-res-new. When it finishes, rename the new zip file to framework-res.apk and push it to /system/framework. If you haven't gotten s-off on your phone, you have to do this while in clockwork recovery (make sure you mount /system in the partitions menu, or if you are s-off and booted, type adb shell mount -o rw,remount /system if it gives you memory errors)
For other operating systems, the steps are similar. If you use a linux distro, I'm going to assume you are smart enough to figure out the compression tools and menu items to unzip and rezip the apk files.
NOTE: You don't actually have to change the extensions to .zip, in fact, you won't be able to unless you unchecked hide known file extensions in the windows folder options in control panel. I just thought it would be easier. If you don't want to unhide extensions, just use a tool like 7-zip or winrar to open and extract the APK. In simple terms, all you are doing is replacing the res folder of your new framework-res.apk with the one from the theme you want. Not very hard.
ANOTHER Note: Sense roms are a bit more difficult to theme, since all of the HTC apps are themed from images in com.htc.resources.apk in /system/framework. But if you are on a sense ROM, you probably can just use a MyModes theme. If you do however choose to try this on a sense ROM, it will only theme user and non-HTC apps. This guide will technically work for any ROM but it works best for AOSP based ROMs, like CyanogenMod or ArayrayMod. The only thing is that if there is a change in the color of text, then you have to decompile both framework-res APKs and copy styles.xml from the old one to your new one and recompile it. APKtool or APK Manager both work great for that.
DO A NANDROID BACKUP BEFORE PUSHING THE NEW FRAMEWORK! Sometimes you can get boot loops from screwing with other files in framework-res, or if it is not signed properly. But you shouldn't get boot loops as long as you stay away from XMLs.
how do i extract an apk? it shows up as an apk and when i click extract it does nothing
Sometimes pushing new frameworks cause boot loops fyi..
Happened to me twice :/
Sent from my T-Mobile myTouch 3G Slide using XDA App
purple1 said:
how do i extract an apk? it shows up as an apk and when i click extract it does nothing
Click to expand...
Click to collapse
Did you try renaming it to framework-res.zip rather than .apk? If you have 7-zip or winrar you can also right click, open with, and choose 7-zip or winrar from the choose default program option.
arayray said:
Sometimes pushing new frameworks cause boot loops fyi..
Click to expand...
Click to collapse
Only if you screw with the non-drawable folders. If you leave the XMLs intact and only change the images it boots fine. The boot loops are caused by incompatible or conflicting XML files, which happens when you just push a random framework-res from another ROM, you have to just move the images over.
I use apkmanager for linux and its immensely helpful. Also you can loop one even without modifying the xmls. Least I have that's why the most important part of theming is knowing how to backup/restore or flash sbf or w/e.
Only if you screw with the non-drawable folders. If you leave the XMLs intact and only change the images it boots fine. The boot loops are caused by incompatible or conflicting XML files, which happens when you just push a random framework-res from another ROM, you have to just move the images over.
Click to expand...
Click to collapse
I think you should state that in the OP
Added a note at the bottom, thanks

Categories

Resources