Android-application transfer method | The material for those who want to translate applications



Rep: (319)
The article will be interesting to beginners just like me, who want to parse an already compiled * .apk file to make some changes (in most cases it will be the Russification / Ukrainization of applications, since you can change the picture with any archiver), and then back it up compile for use on the device. The option of how to do this, of course, is not one, but in this article we will focus on the programAPKTool and OS Windows . First we need programs, namely:

1) From the very beginning, we need a Java virtual machine. Download the option we needfrom the developers site . We select the system for which we need a virtual machine, click "Download", simply close the window with authorization, after which the file download will start, or you can download it manually at the bottom.

2) Now we still need to download APKTool. You can do it againfrom the developer's site : Be sure to download the first file (it is universal, regardless of the platform) and either the second, or third, or fourth file, depending on the system.

3) After we have downloaded everything, we need to install everything. There should be no problems with the virtual machine, everything is as usual programs. In order to "install" APKTool, we need to unzip the contents of both archives to the root of the Windows folder (by default this isC: \ Windows \ ). As a result, we have in the folder Windows there should be such files (starting from the version APKTool 1.3.1 mgwx.dll file not needed This dll is only relevant for older versions of the program):
Attached Image

After we have installed all the programs we need, we can proceed directly to the case. Just want to say that there is a lot done through the command line, so you need to be able to use it. For example, take the programNexus One Gallery3D . The following are our actions:

4) Open the command line (you can go through the "Start" menu, you can click "Run"), in the end you should get the following window:
Attached Image

5) Next, we need to decompile an existing * .apk file, for this we use the following template:apktool d<The path to the file><PathCatalog> where<The path to the file>- this is the path to the file that we need to decompile (I have it, for example, D: \ Android \ building \), and<PathCatalog>- this is the path to the directory where the result of the decompilation will be placed (I’ll say right away that the paths can be set both relatively and absolutely - in the first case the file and directory will be searched in the folder to which we are now on the command line, in the other case - exactly where we prescribed). In the end, we get this:
Attached Image

6) Now we go to the directory that we specified in the previous step, we see files and folders there - this is what the developer works with. To change something with the language files, we need to edit the xml files in.. \ res \ values-<Country code> where<Country code>- the letter of the country (for Ukraine - uk, for Russia - ru, ....). Files can be edited both manually and with the help of different programs (hereinafter, the program uses aiLocalizer , others can be viewed at the end of this post), which is preferable. After we run the program, we will see the following window:
Attached Image

7) Use the "Browse ..." button to select the directory where we have disassembled the * .apk file, in the left spoiler we select the localization we need, if it doesn’t exist, create the "+" button (in this case I will create the Ukrainian localization). In the right spoiler, select the file we need, in my case it is strings.xml. Three columns will appear in the lower part:Name - the internal name of the program field (we do not touch it), Original Value - translation in English (we do not touch it either) and Local value - version of the translation in the language that we chose (here we need to translate or edit everything). Here is what we get:
Attached Image

8) Each line in the fieldLocal value translate into your language - either manually or by clicking the "Auto Translate ..." button (now automatic translation does not work , see google has changed something in the algorithm ....). When all the lines have been translated, be sure to press the save button "Save changes" (circled in red), otherwise all saves will be lost. We do the same with all the files from the right spoiler, for which there are lines for translation at the bottom of the program. After translation, the window will look like this (I translated everything using auto-translation for quick action, the translation may not always be correct):
Attached Image

9) After transferring all the files from the directory of our language, you need to delete files for which there were no translation lines (in my case these are 2 files) and all files with the * .bak extension (these are backup copies of the original files). To do this, press the key "Open folder ..." (circled in red) and delete those files about which I wrote above. As a result, we should have only those files that we translated:
Attached Image
Attached Image

10) After the translation is complete, we need to again collect (compile) the file in its original state. To do this, use the following command line:apktool b<PathCatalog> where<PathCatalog>- folder with our parsed program. In the end, we get this:
Attached Image

11) In the directory where we had the program parsed, 2 more folders appeared:build and dist . We need a second folder, because It is there that the collected * .apk file is named "out.apk" (we can rename it at our discretion):
Attached Image

12) For complete happiness, we now need to sign the created program. If you have not created a test key before, you need to create it. It is createdonly once after which it can be used to sign other reassembled programs. In order to create a key, you need to go to the directory where the virtual machine is installed via the command line, go to the "bin" subfolder and run the file using the template: keytool -genkey -alias<YourAliasName>-keyalg RSA -validity<NumberDays>-keystore<YourKeystoreFilename> where<YourAliasName>- the name of your certificate<NumberDays>- the number of days the certificate is valid,<YourKeystoreFilename>- the name of the certificate store (the last two parameters: "-validity" and "-keystore" are optional, the first is needed to specify the certificate expiration days (by default, 180 days), and the second to specify the specific store where it will be stored certificate. For the parameter "-validity" we say thank you Skat01 ). As a result, the window should look like this:
Attached Image

13) Now the system will ask you line by line questions that need to be answered:
* Enter keystore password: - you need to specify a password for the repository;
* Re-enter new password: - you need to repeat the entered password for the repository;
* What is your first and last name? - you must specify your first name and surname (or something else invented);
* What is your organizational unit? - you need to specify the name of the organization unit (fantasize ....);
* What is the name of your organization? - you must specify the name of the organization;
* What is your city or locality? - you need to specify the city in which your organization is located :);
* What is your state or province? - you must specify the area of ​​the city;
* What is the two-letter country code for this unit? - you need to specify the two-letter country code (UA - Ukraine, RU - Russia, ....);
* Is .... correct? - the system offers to check whether everything is correctly filled, if everything is correct - you need to write "yes";
* Enter key password for<YourAliasName>(RETURN if same as keystore password): - you need to specify a password for your certificate, if you want to leave it the same as for the repository - do not enter anything, just press Enter;
* Re-enter new password: - if you entered a different password than for the repository, then you need to re-enter the password for your certificate.
After completing all the steps, you should have this picture on the command line:
Attached Image

14) After you have created your certificate, you can sign the program for them. To do this, from the same directory from which we created our certificate, execute the following template: jarsigner<The path to the file><YourAliasName>where<The path to the file>- the file we have compiled with changes (which is in the directorydist ), <YourAliasName>- the name of your certificate. In the process you will need to specify a password for your certificate. As a result, we will have this window:
Attached Image

15) As can be seen from the warning, the certificate is valid for only six months (perhaps smart people will tell you how to get around this restriction). Sign of successful operation of the program signature -folder META-INF in the program file . If there is a folder - everything, congratulations, our program is ready and signed, we write it on the phone, install and rejoice at the work done :)

Here is the print screen of the result of the work we did (circled by a red rectangle: the first drawing is before our changes, the second is after our manipulations with the program):
Attached ImageAttached Image

If there are suggestions or suggestions, as well as if errors are found - write in this thread, we will improve this material.

Additionally:
Program to facilitate translationbyzerabot
Another utility for translating Android applicationsbysalaoshi

There is no curator in the subject. If there is a user in the subject who wants to become a Curator and the correspondingRequirements for candidates, he can apply in the topicI want to be curator(after having studied the topic header and all materials for curators).
Prior to the appointment of the curator, on filling caps, please contactmoderatorssection through a buttonPictureunder the messages to which you want to add links.


Post has been editedvaalf - 13.05.18, 19:01
Reason for editing: added program



Rep: (2)
Help collect file.
Attached fileSonimLauncher.apk(731.54 KB)

Not collected back (((
Attached fileframework-res.apk(13.6 MB)



Rep: (2)
llucker @ 27.08.19, 09:35*
where in the interface is and looks like a smartphone on the display the exact line of xml file?

Only the content of the string: thank_you:



Rep: (4)
Good evening. Please tell me where to find EngineerMode.apk translated into Russian for Meizu M5s on Flyme 6.3.0.0G?



Rep: (1)
Hello guys please tell me what to do next, decompiled files via android program ApkEditor all work files and compiled into the program back but aiLocalizer writes enter vaild path when trying to put the path Application \ res- \ values-ru \ string.xml, what to do ?

Post has been editedDark Thoughts - 10.01.20, 19:36



Rep: (1124)
* Dark Thoughts,
APK guinea Leave



Rep: (6)
several times to use the program ApkManager 7.5.0A EvoMod, everything is OK. replaced in the Chinese chess figures on Europe - .png and others make out (unzip), I change the pictures, pick up (archive) sign.. I have a similar in Korean - after starting the apk flies. who knows what's going on? It may appear like?
I disassembled, assembled, signed - even so apk flies. in another way Koreans do? programs that have tried:
https: //play.google.co...com.tbsoft.janggi_free
https: //play.google.co... id = com.belokan.jangki?



Rep: (1124)
andmelek @ 18.01.20, 15:49*
disassembled, assembled,

unless the schedule, then I opened the apk in the archiver / Total, shoved a modified schedule, signed everything, it is not necessary to disassemble / assemble unnecessarily ..



Rep: (6)
I'm doing it, I choose - unzip, then - to back up. or not? What is the difference from the unzip disassemble? another program can advise? APKTool?

Post has been editedandmelek - 18.01.20, 20:28



Rep: (1124)
* andmelek
So throw off the schedule and agribusiness to try
PS: there is protection that verify the original signature ..



Rep: (6)
in response dissolved. The program is free, why they strongly defend?



Rep: (1124)
* andmelek
Protection is not a problem in the compression ..



Rep: (6)
* LinXP,
downloaded, works, thanks!



Rep: (0)
The first - thanks for the article! Happened after unpack, pack, and sign! But here, even without changing anything in the apk, but only unpack / packaged and signed the program hangs at startup. Help, please, very much want her little girl to russifitsirovat:
https: //play.google.co...=com.ubtedu.ukit&hl=uk

Upd: Update - when unpacking, Packing and signature was not a single mistake (after the dance, but still). And it installs without problems and run on the start screen freezes completely.

Post has been editedyuriy12 - 23.01.20, 23:59



Rep: (5)
yuriy12 @ 23.01.20, 22:26*
and runs on the start screen freezes completely.

I translated one game that apktool I put the last game did .Razpakovyval translation .obyazatelno look to encoding oreginalnaya was back and packed but the signature is not done, and still packed rabotala.I should be the first time if you do not want to mean that something is not right sdelal.Da remembered there was a sort of automatic apktul .menu bat file on him, he threw his game razpakoval I made a translation and there is already a file baht for packing, I tossed him a folder and he packed game.

Post has been editedmobiua - 17.02.20, 21:43



Rep: (1)
Hello, tell me where in the forum you can post a request for transfer of the Far East * .apk works for WeChat / Weixin? In order to make this a usable plug for all members of the forum.

ps - direct the pancreas if the wrong thread posted request

UPD:
p.p.s - think I found the right section of requests for translation in "Android - program," but I do not know whether it will take somebody for translation, so pokachto ask the moderators to keep this request in this thread, too, thank you.

Post has been editedS.Shyran - 05.03.20, 21:00
Reason for editing: upd:



Rep: (31)
The people in the assembly gets an error.
brut.androlib.err.CantFindFrameworkResException

Does anyone aware of what?
Attached Image



Rep: (0)
Wow, a prison architect will translate? : Unsure: try what-if



Rep: (243)
Hey guys! Help please, I want to translate the app for yourselfhttps: //play.google.co...xas.holdem.poker&hl=ru. Its a slightly different versionhttps: //play.google.co...idhen.game.poker&hl=ru, Translate Paes problems. But it is this game, I can not ... I can not find an exploded APK where text. More precisely, I find it kakoyby file I did not change (deletes), the text in the game and is in English! Prompt, in what could be wrong ?? where they have hidden text?



Rep: (19)
* SenVorS With this issue in the Club Mod APK



Rep: (243)
* Syjalo, There's not much help, can help here! How to translate the game, if it is not translated into values ​​folders and lib ?? and Where the translation of the resolution .so file with me a huge plus


Full version    

Help     rules

Time is now: 11/09/20, 20:52