Related
Hi, I am using the iskoot software, installed by an apk files. But I need to change a setting of this software, and in Windows Mobile I used to change the registry setting I need, but now, we do not have a registry....so what I am asking is, there is a way to unpack an apk files to see where and wich files it install? So that I can go there and edit the conf file I need?
Thanks!
alex_time said:
Hi, I am using the iskoot software, installed by an apk files. But I need to change a setting of this software, and in Windows Mobile I used to change the registry setting I need, but now, we do not have a registry....so what I am asking is, there is a way to unpack an apk files to see where and wich files it install? So that I can go there and edit the conf file I need?
Thanks!
Click to expand...
Click to collapse
apks are just zip files. Set them to open with your archive manager or change the extension to .zip. All applications install their settings into /data/data/%PACKAGENAME% where %PACKAGENAME% is the Java-style package name of the app.
Ugh, no need to use the evil "R" word here. You're going to give us nightmares!
Each application stores its configurations/settings in its home directory in /data/data as pointed out by the previous poster. You might want to bone up on 'sqlite3' as most configuration settings tend to be stored in such databases.
alex_time said:
Hi, I am using the iskoot software, installed by an apk files. But I need to change a setting of this software, and in Windows Mobile I used to change the registry setting I need, but now, we do not have a registry....so what I am asking is, there is a way to unpack an apk files to see where and wich files it install? So that I can go there and edit the conf file I need?
Thanks!
Click to expand...
Click to collapse
I'am trying right now to find this confing files, thanks, I'll let you know if it's ok.
Note that depending on what you are trying to do, the config files may or may not be able to adjust the property you're after. No matter what, the program itself must support what you are trying to do (this goes for ALL OS's -- you simply can't change something that is irrelevant and expect it to do what you want) and more often than not, the ability to adjust that property would be presented by the program itself.
That is, of course, not to say that manually adjusting the config files is useless, because there IS a lot you can do directly from the config files.
alex_time said:
I'am trying right now to find this confing files, thanks, I'll let you know if it's ok.
Click to expand...
Click to collapse
Er, delete please
Modify an " .apk " file in " .exe " file
Hi everybody ,
Please , does anyone know how
I can modify an Android Mobile File .apk
in a .exe to use it with Windows Mobile ?
ccpgclap said:
Hi everybody ,
Please , does anyone know how
I can modify an Android Mobile File .apk
in a .exe to use it with Windows Mobile ?
Click to expand...
Click to collapse
No, they have absolutely nothing in common.
Modify an " .apk " file in " .exe " file
Originally Posted by ccpgclap View Post
Hi everybody ,
Please , does anyone know how
I can modify an Android Mobile File .apk
in a .exe to use it with Windows Mobile ?
Originally Posted by RubenGM View Post
No, they have absolutely nothing in common.
Originally Posted by ccpgclap View Post
But I have found this and it doesn't work ....
Download APK2EXE and NSIS install system
Follow these steps to create your executable!
* Extract APK2EXE to a new directory
* Add your APK to the directory
* Doubleclick APK2EXE.NSI and edit the 3 lines containing information about your application.
* Right click the NSI file, and select 'Compile NSIS Script' - this will create your install EXE
* Done!
And it is a .apk to .exe converter !!!
Can anyone tell me why it doesn't work ? Many thanks
because your trying to run a Android application on Windows.
it's like saying I want to make this MAC application run on windows.. it just doesn't work..
I dont care what programs say.. Its not coded for Windows so it wont understand what the program does...
BTW you application you speak of is meant to install APK's FROM windows not TO windows
"Hot on the heels of my installAPK utility to let you install APKs from your Windows desktop, I now have another neat trick... which allows developers to distribute APKs as Windows EXE files instead."
boostnek9 said:
because your trying to run a Android application on Windows.
it's like saying I want to make this MAC application run on windows.. it just doesn't work..
I dont care what programs say.. Its not coded for Windows so it wont understand what the program does...
BTW you application you speak of is meant to install APK's FROM windows not TO windows
"Hot on the heels of my installAPK utility to let you install APKs from your Windows desktop, I now have another neat trick... which allows developers to distribute APKs as Windows EXE files instead."
Click to expand...
Click to collapse
shouldnt be too tough. just make a executable file that installs and configures adb, allows user to select apk or select a folder of apk's, create a .bat file that tells windows command prompt adb push the .apk to the sd card, then adb install /sdcard/nameofapk.apk
simple enough!
Can anyone tell me how to edit the app / extracted APK file to make the phone think it's a completely different app i.e. install it twice...
Not trying to cause trouble, I'm just looking to install an older version of an app as well as the updated version...
RichCowell said:
Can anyone tell me how to edit the app / extracted APK file to make the phone think it's a completely different app i.e. install it twice...
Not trying to cause trouble, I'm just looking to install an older version of an app as well as the updated version...
Click to expand...
Click to collapse
apk manager will let you
Asadullah said:
apk manager will let you
Click to expand...
Click to collapse
Thanks for replying, I've had a go with that and extracted / decompiled, compiled, signed, and that doesn't work, when I try to install the newly created apk it still tries to overwrite it...
I've watched the vid and read the comments but haven't worked it out yet... Can you point me in the right direction about which bit to edit?
i think you need apktool
Cool, I'll look into that... Any pointers on how to do it once I've got apktool?
command line usage, this tool unpak and repak
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.
I'm attempting to "theme" (might be a stretch to call what i'm doing a theme) my first app. I started with intuitit's Launcher, modified the pull down icon and the background to suit my likings, dumped the image files back into the archive via 7zip. When I attempt to install to my phone I get this error in the command line:
[INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
Thinking this is because I didn't sign it after I made the changes? What is the best, most easiest way to sign my apps? I already have Eclipse installed, a workspace created, the most recent Android SDK files and the Android plugin's configured for Eclipse. But I'm thinking there is just some sort of batch file out there that will self sign the file.
Also, maybe this isn't a signing issue. If not, what is it?
DaveKid said:
I'm attempting to "theme" (might be a stretch to call what i'm doing a theme) my first app. I started with intuitit's Launcher, modified the pull down icon and the background to suit my likings, dumped the image files back into the archive via 7zip. When I attempt to install to my phone I get this error in the command line:
[INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
Thinking this is because I didn't sign it after I made the changes? What is the best, most easiest way to sign my apps? I already have Eclipse installed, a workspace created, the most recent Android SDK files and the Android plugin's configured for Eclipse. But I'm thinking there is just some sort of batch file out there that will self sign the file.
Also, maybe this isn't a signing issue. If not, what is it?
Click to expand...
Click to collapse
I use a script I found on the G1 boards...I'll zip it up for you and post it here...Its a modification of the zip signing thing, I use it all the time for Hello IM (horrible company multiple facets btw, no updates anymore they suck) and Chomp SMS
Simply extract the file to any directory, and in the root folder place ur customized APK file then run the sign.bat your file will be named your_app_signed.apk
sometimes I have to remove the META-INF from inside the APK then sign it for it to work (it recreates meta info)
have fun.
Also, you do not name a topic HOW TO unless you are offering a HOW TO, it is misleading...this is a question...you know that...it belongs in Q&A
AbsoluteDesignz said:
Also, you do not name a topic HOW TO unless you are offering a HOW TO, it is misleading...this is a question...you know that...it belongs in Q&A
Click to expand...
Click to collapse
your absolutely right! I sometimes am not sure where the best place is. and [HOW-TO] is definitely misleading.
thanks again for all your help.
Hello A little while ago I managed to learn how to theme totally from scratch. I knew nothing of anything before I started, but now I know how to port themes As I still see myself as a n00b there may be some weird things I've done, but at least I manage to create the themes This might not be the best way to theme, or the easiest, but it works
Overview PNGS
1) Getting the files
2) Getting the images
3) Port
4) Package and Sign
The only programs I've used is 7zip and autosigner download them and install 7zip and extract autosigner to a nice location for example your desktop
Getting the files
The first you need to do (after getting the programs) is to find the file you will mod (edit). This will mostly be the framework-res.apk because this decides most of looks of phone (for example the statusbar). Download the .zip of the rom your going to theme. Open it up (shouldn't require any programs, if does, use 7zip: either drag it onto the 7zip icon or right click and choose open with). Open system -> app and copy the framework-res.apk (or any other apk you would like to theme, for example the settings). Now paste it into an appropriate folder.
Getting the images
Now you need to find the images you want to use in your new theme. Find either an update.zip with a theme or an .apk with a theme chooser theme (if there is both a version for Froyo and GB, use the Froyo version as this will make it easier ) Open it up with 7zip (drag it into the 7zip icon). Now you can do either of two options:
1) You can take the whole drawable-mdpi folder and copy it out. You should probably don’t do this with a Themechooser apk, as they usually don’t have all icons in this folder, as they often lend a few from HDPI.
2) Take only the images you want and copy them to a folder. For example if you want the signal icons, copy the “stat_sys_signal_0” (-4 of course) and copy them out. If you want the statusbar background, copy “statusbar_background”. This way you can mix several themes, take the best of several themes and make your personal theme
When you’re done getting your icons, close the window.
Porting
Now open the Rom’s default framework-res.apk with 7-zip. If you’re going to port a whole theme, delete the /res/drawable-mdpi folder and copy in your own. If you’re going to port just a few icons, open the /res/drawable-mdpi folder and paste your icons. You might want to check if the icons have the same names in the different framework. For example the headset icons can be both “stat_sys_headset” and “stat_notify_headset”. Also if you port from a theme chooser theme, you will have to rename every single .png you port. This is really boring, but necessary. You need to remove the “framework_res” and the “android_systemui” from the beginning of all the names. So “framework_res_activity_title_bar.9.png” needs to be changed to “activity_title_bar.9.png”. Because this is so boring you better keep your renamed icons, so it’s easier to port it to another rom
This is kind of off-topic: my carrier lends network of another carrier. Therefor my phone is allways roaming. This puts a stupid “r” with my signal icons. To avoid this I allways take normal signal icons, copy them, and rename one of the two .pngs from for example “stat_sys_signal_1” to “stat_sys_r_signal_1”. This way I get rid of this stupid “r” and it will always show the normal icons
Packing and signing
Now the porting is done and the next job is to push the new framework to your phone. If you are familiar with adb, you can push it to system/framework on your phone. You don’t need to anything more with the apk before pushing it. Else you can create a flashable .zip for your theme. I’ve attached a .zip with update script (I haven’t created it. Just stole it from one of Elelinux’ add-ons ). Download the zip. Create a folder named system and a folder named framework. First drag the new, modded framework_res.apk to the framework folder, then drag the framework folder into the system folder, before you drag the system folder into the attached zip. If you use Clockworkmod recovery, you can just flash the zip right as it is, but if you use Amon_Ra or want it to be compatible with every recovery because you want to post it, you need to do something.
Unpack autosigner and launch the exe file inside. Drag the .zip into the new window and press sign. It will now appear a new file in the same folder as the file you wanted to sign. Its name is the same, but with “_signed” at the end. You can rename the file as you wish both before and after the signing.
XML Editing:
I decided to add a little section about XML editing as well I really don't know all about this myself, but i can tell how to set it up and some examples to what you can do Even though this may seem really complicated, it's not written in a completely different language, like Java in the smali files, so often it is possible to use logic to get what you want
Tools needed: APK Multi-tool. as well as Java, if you don't have it installed.
Overview:
1) Setting up
2) Examples
3) Finish
Settings up
Download APK Multi-tool and extract/ unzip it to wherever you want ( I have it on my desktop). Now you can place the apk you want to modify (usually the framework_res.apk) in the "Place_apk_for_modding" folder. Then you open the script. If you don't get an error, proceed to b), if you do get an error proceed to a)
a)) If you do get an error where it says something like "java not found" you need to correct the Java path (or install Java if you haven't done that, which you should have) . I had to do this to get it working. First open my computer and click disk C, or D if you have installed Java there. Open programfiles (or whatever it's called in your language) and scroll to the Java folder. Now open the folder there jdk folder or whatever you have there and open the "bin" folder. Look at the top of your window, where it says where on you're computer you are (like Windows: C to the left, and then Programfiles and so on). Right click it and click copy address. Mine is "C:\Program Files\Java\jdk1.7.0_01\bin . Now you can close the window.
Open "My computer" again. On the top bar below the navigationbar, click Sytemoptions (sorry, not really sure what it's called in Englsih, as my computer is Norwegian, please correct me if I'm wrong). On the left click the "advanced" link and in the popup that appears click "environment variables". Scroll down to the "path" variable and edit it. Paste the address you copied and click OK. You should now be able to proceed to b). If you still get an error, please tell me and I'll try to help
b) type 25 and press enter to select current project. Here you will see all the apks in the "Place_apk_for_modding" folder. Select the appropriate number (in this case probably 1) and press enter to continue. Then you hit 9 and enter to decompile it. I cannot really explain it, but it enables you to edit the xmls in the apk. If you try to edit them by using 7Zip, the xmls will be just messed up. When it's done decompiling, you have gotten a new folder in the "projects" folder. In this case it is probably named framework_res.apk. Minimize the script (DON'T CLOSE IT) and you're ready to edit the xmls
Examples on edits:
COMING SOON
Finish:
When you're done editing, open the script again (remember what I said about not closing it? ). Click 11, unless you are editing a non system apk. If you are editing the framework or settings or such, use 11. If you get an error now, you have probably done something wrong, try to see in the log what you have done wrong. Every time I've had an error, I've ended up in bootloop when I've flashed, so it is probably better to just start over. Another tip is to do one thing at the time. For example: you decompile, edit the notification color in pulldown, compile. Take the compiled apk, decompile edit another thing and so on, this makes it easier to not mess up and it also shows what you are doing wrong.
On the "Is this a system apk?" you should probably say y, as I said above. I also usually copy over the files I didn't edit, as this seems safer. Follow the instructions and you should be fine. When you're done and the script is done compiling, you will find a unsigned_**** (for example unsigned_framework-res.apk) in the "place_apk_for_modding" folder. This is your modified apk, and you can try to push it to ur device with an update.zip or adb, if you know how to use that
Well this was the end of my guide for now If there's anything which is unclear or you have other suggestions, feel free to post I've probably forgotten something
Finally after all my attemps to modify the android framework before i have do it correctly. I have changed a couple of things, the lock screen and battery icons so far. The framework I'm modifying is the one on Ele's Gingerbread and i wonder how to get the battery icon percentage 1 by 1 as i saw in some other themes. What i mean is that in the original framework there is only battery icons for 15, 20, 25 and so on, and if i push the 16, 17, 18, 19 they won't work. Is Theme Chooser the one on charge of this? how can i get that? some help please?
(Also tryed to theme a sense rom, but everything was messed up, i guess because of sense or maybe I did something wrong)
So thanks for your guide, really helpfull
Yeah, I've never tried to theme Sense so I don't know. It is probably possible to make icons for every %, but then you'll have to decompile using APK tool, and it is harder. I don't know how. If you want to try, you could try asking a question here
thanks
so funny=))
i'm tried
Great guide helped me a lo thx.
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
mDroidd said:
Finally, someone who CAN explain it...
I'm now porting ICS to GB (no cm7), cause I think CM sucks.
Click to expand...
Click to collapse
Hmm, ICS themes can be made really awesome, if you do some more advanced stuff. For example you want to remap the pulldownbar a bit, and change som text colors. But to do this you need to use a tool like APK multi-tool, and it is a bit more advanced. If you want to, I can create a new section where I show how to this
Thank you.
GUIDE UPDATED! Added a section about XML editing really quick, probably forgotten something and such, so just ask if there is something you don't understand This is for those who are getting used to the PNG editing and want to proceed to something slightly more advanced, for example you 7Tosta
Cheers
BTW: I should've reserved the 2nd post, this is getting messy
Edit: If there's anything specific you want me to add to the EXAMPLES section, tell me
[GUIDE + ROM] Rom Translation Tutorial + Minimoto 1.7 & MavROM 4.5 Italian Version
THIS GUIDE IS FOR PEOPLE THAT KNOW WHAT ARE DOING! DO NOT TELL ME THAT I BRICKED YOUR PHONE OR STUFF LIKE THAT, YOU ARE RESPONSIBLE OF WHAT HAPPENS TO YOUR PHONE, BE CAREFUL!
Here are the Italian versions of Minimoto 1.7 and MavROM 4.5:
Minimoto 1.7
MavROM 4.5
(The MavROM has 2 files to flash: first the D3-MavROM-4.5.zip original file and then the MavROM-AOSPICSTheme.zip that contains the translation plus the ICS theme. If you want to translate another theme, or just the basic rom, you can extract the language files from the theme .zip following the guide!)
Every Droid 3 owner out of the English/Spanish area knows that every D3 ROM comes out with only two languages preloaded in it, right? well...if you know well english (or spanish!) maybe i have something for you!
Ok, i hope this guide could be helpful to everyone like me that wanted to find a non-english, non-spanish Gingerbread ROM for Droid 3.
After some studies, and a lot of searching too, i've found the best (i think) way to translate roms. Oh and this guide is good for every android phone out there! Let's start!
Part 1 - Download all the stuff! (plays Monkey Island music )
Our needs are very few, what you need with this is a lot of patience, and knowing some english could help.
- A rooted Droid 3 (or any other phone)
- The ROM you want to translate
- WinRAR / 7-Zip
- Notepad / Notepad++ (Highly recommended!!!) http://notepad-plus-plus.org/
- Java Development Kit www.java.com
- APK Manager/APK Multi-Tool, since now i will call them APKM and APKMT ( i used APK Manager, but multi-tool should be fine anyway) http://apkmultitool.com/?q=node/5
- Google Translator Toolkit http://translate.google.com/toolkit/
- Safestrap (optional, but very, very recommended)
- MoreLocale2 or another language changing program
Note 1: If APK Manager/Multi-Tool bother you with something about java not found do this: http://wiki.answers.com/Q/How_do_you_stop_the_error_%27java%27_is_not_recognized_as_an_internal_or_external_command_operable_program_or_batch_file
Note 2: In APKMT, the commands are a little different from APKM, e.g. in APKM the "set project" command is listed as 22 and in APKMT is listed as 24....the functions we'll use are the same, just read the description if you're not sure and you'll be fine
Ok, let's take the stuff out of the box!
Part 2 - The extraction point
Open the .zip containing your ROM's files with WinRAR / 7-Zip and extract the folder "system" somewhere (i recommend to create a folder for your translation project) once the process is done, we can basically do two things: Decompile the apps or decompile the frameworks, the process is the same, but you have to go really really REALLY careful with framework apks, or once you flashed the ROM what you've got is a translated BOOTLOOP. So be careful. With apps you can mostly screw a functionality up, like SMS or Phone, but nothing too messy.
Anyway you can solve the problem with a new flash with the corrected ROM, or the original, untranslated ROM.
Ok let's start with the frameworks: we've usually got 3 differents frameworks and those are
framework-res.apk
blur-res.apk
moto-res.apk
Those apks contain mainly everything written all around the phone, like pop-up messages, status bar, app permissions and a lot of other stuff.
We'll use framework-res.apk.
If there isn't, create a folder in the same folder where you have installed APKM/APKMT, called "place-apk-here-for-modding" without quotes, then copy inside it the framework-res.apk.
Now you have to open the Script.bat file, and once you get into the main window, digit 22 (APKM) or 24 (APKMT) and press enter to select the current project, now digit the number corresponding to the desired apk (it should be 1 if you have only framework-res.apk) and press enter. now digit 9 (APKM/APKMT) and enter and you'll decompile the apk. Now you should have a folder, inside the "projects" folder of APKM/APKMT named just as the decompiled apk. Inside it, you'll find a folder called "res" open it and you'll be right into the core of the translation:
Note: if you get an error after decompiling, try with option 10 (APKM/APKMT), and drag and drop the necessary framework over the prompt when APKM/APKMT ask, press a key, and if you get another error try with another framework (D3 has 3 of them) until you get the job done. If nothing works, probably there's a problem with the apk you want to decompile.
Note 2: You could need to have frameworks installed into folder C:\Users\YourPCUSername\apktool\framework. You can do this either with apktool via cmd or manually copying the 3 frameworks into this folder (create it if needed) and renaming them this way:
- framework-res.apk => 1.apk
- moto-res.apk => 2.apk
- blur-res.apk => 3.apk
Then you should be able to decompile 99% of apks with option 9.
You'll find a bunch of folder, but we are interested in the "values" ones, if you have to translate the app, you'll see something like this:
- values
- values-es
- values-es-rUS
the first folder contains the english files, the second contains the spanish files, and the third contains some other files for spanish variants.
Open the "values" folder and inside it there are some .xml files, we will always use only 3 of those at most:
- strings.xml (the file containing mainly all the text strings of the apk, if you find this, then you have to translate it, if not, just pass over this apk, it doesn't contain text)
- arrays.xml (the file that contains some text data for drop lists, you'll not find this often, but if you find it, translate it)
- plurals.xml (the file that contains plural words, this is very rare to find, but if you want to make good translations, then, translate!!)
Now get back to "res" and create a folder called "values-xx" where xx is your language code, for example i made a values-it folder, but you'll write values-fr, values-de, values-idunno etc.
You'll put here, all the XMLs we're gonna translate now!
Part 3 - Bring out the dictionary!
The game is getting harder, now you have to use your better weapon: Google Translation Toolkit. But first, let's look into XML!
Open the "strings.xml" file with Notepad++, and look at the records structure:
<string name="aerr_application">The application %1$s (process %2$s) has stopped unexpectedly. Please try again.</string>
You have to change ONLY and i repeat ONLY the text between "<string name="aerr_application">" and "</string>"!
Now some rules:
- See that "%1$s" weirdness? that is a jolly word that Android replace with a variable data, in other words DO NOT TOUCH IT! just imagine that you'll see there something like "The application *Temple Run* (process XYZ) has stopped etc. etc.
- If you have to put an apostrophe or some other weird character, always put quotes at the beginning and at the end of the string just like in the translated string down there, it's good to always put them, And GTT (Google Translator Toolkit) does that.
- If the string you have to translate looks like code stuff, probably you should leave it untranslated, something like:
<item>@string/resolutionSummaryWideScreenTV</item>
<item>MOTOCAMSETTING_REVIEW_TIME_4_SEC</item>
see? DON'T TOUCH IT! BAD TRANSLATOR! BAD!
This is the resulting, translated string:
<string name="aerr_application">"L'applicazione %1$s (processo %2$s ) si è fermato in modo imprevisto. Si prega di riprovare."</string>
Ok, now we can translate without detonating the phone, but framework-res has something like 1300 rows of text!
WHOA! let's use GTT!! http://translate.google.com/toolkit/
Once you are on the main screen of the tool, click on the red "Upload" button on the upper left, then in the page you found after, click on "Browse..." and select your file inside your PC.
Set all the stuff down there, like the name, the language and everything else, and click "Upload for translation"...here comes the magic...
The XML is translated! sort of...
You now have to look if GTT has done the work well...let's look into this page:
- You can see that now the entries are divided in boxes, you can click onto the left panes' boxes and edit the content.
- Play a little with the interface, you have to get familiar with it if you want to translate a ROM!
- Look to spaces and returns, GTT mess them, and you should correct the format.
- Text is coloured: i'll tell you what those fancy colours ACTUALLY mean
- Orange: this means you've edited the text into the box
- Red: text coloured in red came right out of Google Translate, and 70% of times, it will be gibberish, so look carefully into it, this will be the work where you'll spend more time.
- Blue: this is a sneaky bastard, it says that he found a "100% matching" translation in his database, but it has a 30% chance to be total nonsense, be careful with it.
- Green: this colour is fine, you probably have translated this in past, or someone did it for you, anyway, it will be 99% correct, if the past translation was correct.
- Brown: this happens rarely, usually where it founds a colon (the symbol ":" ok?? :angel: ) and for some reason, it goes random, usually you need a very little effort to correct it.
- Purple: THIS is a funny one. when purple comes out (usually with a wildcard character like "%1$s") the translator often goes TOTALLY random and write some idiocy. rewrite the text from scratch.
Once you've managed to translate everything, and if you're sure to have completed everything, click (if you want) on "Complete" in the upper right corner of the page, and then we need to download our work, to do that, click on "File" (upper left) and then "Download". Save the .xml file in your values-xx folder, and check one last time with Notepad++ the number of lines, the spaces and the format in general, at this point we're ready for the final part!
Part 4 - Repack everything!
Now the situation is this: you have the "project" folder containing all the decompiled apks folders, with the "values-xx" directory in it, we now have to recompile everything and put apks into the ROM. Let's see how:
- Open APKM/APKMT and select the project you want to recompile
- digit 11(APKM/APKMT)
- Look if you got errors, if yes, look into the log 20(APKM) or 23(APKMT) and see what the problem is, if you look carefully you will identify where is your error log, probably it's a messed tag, or something easy to resolve, correct the issue, and go ahead, restarting from digiting 11 (Compile)
- Press Y and enter
- Press Y and enter (yes, 2 times)
- Now wait for APKM/APKMT to stop spitting lines out and it'll tell you something. Read it, but the substance is: go in the APKM/APKMT folder, look for a "keep" directory, delete the "resource.arsc" file, get back on the APKM/APKMT prompt window, and press a key.
- Once everything is completed, you now have a file called unsignedframework-res.apk (or unsigned*nameoftheapkyouhavecompiled*.apk)
- The next, is the point i still didn't get, but it works...maybe XDA guys can explain better this...anyway, we now have to sign apks...i saw that this shouldn't be necessary, but otherwise i've got a lot of errors and force closes and stuff like that...soooo, at least for D3, sign it!
- We have 2 choice for signing...if you have only a few apks to decompile, you can just select the project and digit 12(APKM) or 13(APKMT) and sign it but if you have translated a whole ROM and you want to sign all the apks at once, create, if not exists, a folder called "place-apk-here-for-signing" and put all the unsigned apks there...you now have to digit 16(APKM) or 18(APKMT) and the apks will all be signed automatically.
- Rename the apks removing the "signed" part from the name.
We're now ready to pack the ROM: i usually create a "system" folder somewhere else that i will put directly into the ROM's zip, but you can do it by hand (boring). I'll show you my method for now:
- create a "system" directory
- inside it, create a "framework" and an "app" folder
- put into the framework one, all the frameworks (easy, huh?) and into the app directory, put all the other apks.
- open the ROM zip and drag and drop the system folder into the ROM in order to overwrite the existing one.
Our freshly translated ROM is ready to be flashed and brick or burn your phone! (ok, no, this is not true...maybe...)
Anyway, download the zip on your phone and flash it with the recovery you want.
I RECOMMEND TO DO THE FIRST TEST ON A SAFESTRAP, AND ONLY IF YOU'RE SURE THE ROM IS SAFE, INSTALL IT ONTO YOUR MAIN SLOT! I'VE WARNED YOU!
Part 5 - Polish your creation!
When the ROM is installed, and if it boot correctly, First install MoreLocale2 or other similar apps, and add, your language, with the correct ISO codes and look around to see if something is untranslated...if yes, go back, to APKM/APKMT and find the apk you need to modify, translate, repack, flash the ROM and again until you've got a perfectly translated ROM!
The tutorial is ended, i hope you liked it, and if you want to correct, critic, ask, or anything, just tell me!
Tips: If you want to avoid the MoreLocale stuff, you can edit the build.prop, into the folder "system" of the ROM you'll find this file, open it with Notepad++ and look for these lines:
ro.product.locale.language=xx
ro.product.locale.region=YY
You have to put here your ISO language code, but i noticed that on D3 it doesn't always works...so, try but i don't guarantee success.
If i remember something, i'll integrate the post
Coming Soon:
Screenshots!
Corrections!
Hi, people i saw that the guide hit 1,000 views and it's a lot of clicks! so i'd like to know if there is something that you would see in this guide, or if you need some more guides, maybe more D3 specific (or less specific! ) i spent a lot of time tweaking and tuning this phone and i can share what i've learned from it! If you want a custom translated rom, i could work on it, especially in Italian or French!
tl;dr -> Tell me what improvements you want to see!
Buongiorno FrankieDedo,
I have read your tutorial and try to translate the Framework res.apk from Minimoto 1.7 into German. (I am Greek just translate it for a German friend)
First i translated the three files (arrays.xml, plurals.xml, strings.xml), put the files into framework-res.apk\res\values-de, recompiled and signed everything without errors.
Then i edit the build.prop ro.product.locale.language = de and ro.product.locale.region = DE
Flashed the rom zip without problems.
After the initial setup i downloaded more local 2 and set it up to german, unfortunately the system itself is still in english (most of the apps are in german now)
Also I have decompiled your framework-res.apk but i cant find your italian values folder.
I've attached my decompiled framework-res.apk, maybe you can help me.
Thank you very much !
michalakis said:
Buongiorno FrankieDedo,
I have read your tutorial and try to translate the Framework res.apk from Minimoto 1.7 into German. (I am Greek just translate it for a German friend)
First i translated the three files (arrays.xml, plurals.xml, strings.xml), (...)
Click to expand...
Click to collapse
I'm looking into this, my framework lacks the Italian translation, you're right, i've uploaded a zip without it, i'll update that too soon.
I don't know why your framework shouldn't work, i give a look at it and it looks ok, it just have some text rows more than the english one, it could be the problem, but i don't think so... Anyway, can you tell me if when you factory reset the phone you see some texts in german and then they disappear?
Yes, at the start setup for 1 sec than it turns to English.
But after a factory reset booting without the SIM, the text at the start setup don't turn to German.
So with SIM the phone recognize the im in Germany and turns the text for 1 sec to German.
Must i change something else in the build.prop ?
I Started over again and with mavRom 4.5 now it works
michalakis said:
I Started over again and with mavRom 4.5 now it works
Click to expand...
Click to collapse
i'm glad you've made it, maybe the problem with the other rom was some missing file or something missing in the decompiling/translation/compiling process... and thanks for letting me know that the minimoto zip doesn't have the translated! as soon as i get home, i'll upload a new file!
Fixed the Italian Minimoto, with translated framework.
FrankieDedo said:
Fixed the Italian Minimoto, with translated framework.
Click to expand...
Click to collapse
is this guide valid only for these 2 roms or i can use it to translate any custom rom of any smartphone?? and another question: if in \system\framework there are framework-res.apk, lidroid-res.apk and twframework-res.apk and the other files are .jar, i must modify only these 3 apks?
thanks in advance for the answers!
Blade.94 said:
is this guide valid only for these 2 roms or i can use it to translate any custom rom of any smartphone?? and another question: if in \system\framework there are framework-res.apk, lidroid-res.apk and twframework-res.apk and the other files are .jar, i must modify only these 3 apks?
thanks in advance for the answers!
Click to expand...
Click to collapse
Sorry for my late answer, :angel: anyway:
I wrote this guide after messing around with Droid 3, but it is good more or less for every rom, so you can translate nearly everything with this method (i heard that for HTC phones things are a little more messy, but i might be wrong)
For the apks to translate: if you translate the frameworks alone you should have translated roughly a 75%-80% of the phone system, but another important apk is the "Settings" one... if you are a maniac like me you can decompile every system app and look for missing language folders...
I'm sure at 99% that you'll always have to touch ONLY apks, and not .jar or external .xml or whatever so, yes go along with your apks
Ciao!
FrankieDedo said:
Sorry for my late answer, :angel: anyway:
I wrote this guide after messing around with Droid 3, but it is good more or less for every rom, so you can translate nearly everything with this method (i heard that for HTC phones things are a little more messy, but i might be wrong)
For the apks to translate: if you translate the frameworks alone you should have translated roughly a 75%-80% of the phone system, but another important apk is the "Settings" one... if you are a maniac like me you can decompile every system app and look for missing language folders...
I'm sure at 99% that you'll always have to touch ONLY apks, and not .jar or external .xml or whatever so, yes go along with your apks
Ciao!
Click to expand...
Click to collapse
grazie per la tua risposta! sei stato molto chiaro!