jBART

By | 18.01.2013

«All-in-One» tool for Android rom developers

Current version: 3h
Graphics: DriffeX

Description

Application for automating rom translation process, deodexing roms, modifying Android applications, parcsing translation xml files to get difference between translation and original xml files, creating incremental OTA update files for roms. The core for editing applications (in free license) is apktool.

Screenshots (from version 2a)

Deodex

De-odex: Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file and put it back inside the apk. This allows you to easily replace files (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) and to deodex services.jar, you need to deodex everything.

ROM translation

translator

Main repo (you allowed to select more than one repository to add several languages/translations to the rom) — the main translation repository.

Extras repo — repository with file replacements (apk, jar, boot.img, etc.). All these files will overwrite files in out rom file.

Patches repo —  repositories with patches for resources (xml resources, such as strings.xml, arrays.xml, etc.).

  • «Automatically compile after decompile» allows automatically start compiling after successfull decompiling. If you need to change some files after decompiling rom, you have to turn this option off.
  • You can see realtime jobs log at the «Log» section.

Directory data/settings

This directory contains a lot of configuration files.

alt_rom_name.conf

Output rom file naming rules.

  • «bz_v»+ro.build.version.release+»_»+ro.product.device+»_»+ro.build.version.incremental+».zip»

ro.build.version.release, ro.product.device и ro.build.version.incremental — these directives from system/build.prop file, you can use any data from build.prop file.

deletefiles.conf

The list of files to delete from output rom

#This is comment

system/recovery-from-boot.p
system/etc/cdrom_install.iso
system/obj
system/tts

etc.

dpifilter.conf

Allows to exclude drawables from apk files, that is for higher resolution than supported by rom’s device.

Example: We have rom for Xiaomi Mi2S (aries), some applications could contain xxhdpi drawables, but device is only xhdpi. So if we have this line in config — aries=xhdpi, all drawable-* folders with higher dpi (xxhdpi, xxxhdpi) will be deleted from the apk.

 

5. repo.*

Repositories configs.

One line from config:

  • github::BurgerZ/MIUI-v5-Translation=Russian translation for MIUI v5 (BurgerZ & Driffex)

First part (before ::) — repository type, Second — address, Third — the name to show in repositories list.

Supported types:

  • github::BurgerZ/Android-v2-extra=Extras for Android v2 (BurgerZ)
  • bitbucket::iBotPeaches/ma-xml-4.0-spanish=Spanish Translation for MIUI v4 (ingbrzy)
  • url::full_direct_url_path_to_the_zip=Name to show in repos list
  • folder::/home/username/MIUI-v5-Translation=Name to show in repos list
  • package::/home/username/MIUI-v2-Translation.zip=Name to show in repos list

 

Directory data/patches

Directory with patches for smali files, AndroidManifest.xml files, build.prop files, and any files in roms.

buildprop_patches.conf

Allows to add/edit any property in build.prop.

To be continued…

 

System requirements

  • Windows, Linux, Unix, Mac OS X (or other OS that supports JRE/JDK)
  • Java Runtime Environment (JRE)  1.8+
Changelog

Download

Download the latest version

 

 

  • Евгений Герман

    Лучший софт который я встречал

    • Ха, спасибо!)

      • Александр Зимин

        Андрей, проэкт совсем умер или интерес остался и есть шанс?

      • Александр Зимин

        Андрей, а WSM как проект совсем умер или интерес не пропал и ещё есть шанс на реенкарнацию?

        • ну как сказать, могу просто модули писать. Ну и сам WSM Tools (главное приложение) переделать, и использовать бинарники от SolarWarez (у меня нет времени самому разбираться, что там не так с MIUI в стоковом app_process xposed).

  • EarsKilla

    А у меня по какой-то причине java exception лезет. Win 10 pro x64; java x86 & x67 7u80

  • Hany

    Hello, any update for wsm tools miui 7 compability?

    • Hi. Yes, I’ll update it soon. I need some time to redesign the app and make some initial v7 modules.

      • Hany

        Nice. Hope update Mi-Tools, Mi-Themes too in order to support MIUI 7 or up. Btw, MIUI 8 will be released soon, on schedule is 10 May.

  • eapo1_5

    Hi, I need generate a diferential between two roms MTK but, I dont now the format that should have zips , I have two zips with scatter file. Thanks

    • img files are not supported. The only supported format is zip file for TWRP-compatible recovery (zip with system folder inside it)

  • Евгений Герман

    Хорошо было бы в меню программы вынести включение отключение патчей, а то иногда патч не нужен и приходится лезть коментировать, а так вырубил в менюшке и все. 🙂

  • Inor Earl

    translate For Xiaomi Redmi Note 3 MTK. MIUI V7.2.5.0.LHNCNDA to INDONESIA language,MIUI v7. PLEAS

  • DarkNights03

    I’ve tried adding Vietnamese language for my rom, but it did not work.
    Error log:
    1. framework-miui-res.apk
    2. Email.apk
    (ROM MIUI V5). Sorry for my english.

    • Try old apktool versions (place apktool to data/tools/lib directory and selet it in jbart)

      • DarkNights03

        Can you give me j-BART v2a? I think it will work.

  • nicetiger2000

    jBART last version not available language translate indonesian in miui 7, please add «bahasa indonesia» for jBART in miui 7, it’s pretty cool, wait new verison with update language indonesian 😀

    • What do you mean? Indonesian repository? If YES, than you can give me a link to it and I’ll add it to the jbart.

      • nicetiger2000

        yeah Indonesian repository, i’m not have link Indonesian repository MIUI 7 BUT i’m have repository Indonesian MIUI 5 and 6 only.

  • Luis Peregrina

    Are you going to add some information on how to use the section «Single File»?

  • อาทิตย์ สีกาลุน

    in jBART-master.zip not have jbart3h.exe for run please tell me.

  • อาทิตย์ สีกาลุน

    Please support miui8
    Miui8/framework-res.apk after recompile devices not boot to menu

    02.06.2016 18:30:01] I: THURSDAY 02.06.2016 18:30:01

    [02.06.2016 18:30:01] I: Copyright: 2012-2015, Andrei Zhukouski (BurgerZ)

    [02.06.2016 18:30:01] I: xxx:

    [02.06.2016 18:30:01] I: xxx:

    [02.06.2016 18:30:01] I: All Rights Reserved

    [02.06.2016 18:30:01] I: **************************************************

    [02.06.2016 18:30:01] I: Welcome to jBART v3h build 20160329.03

    [02.06.2016 18:30:01] I: **************************************************

    [02.06.2016 18:30:01] I: License info:

    [02.06.2016 18:30:01] I: ID: XXXX

    [02.06.2016 18:30:01] I: Name: Public

    [02.06.2016 18:30:01] I: Serial: UNREGISTERED

    [02.06.2016 18:30:01] I: **************************************************

    [02.06.2016 18:30:01] I: Java version: 1.8.0_91

    [02.06.2016 18:30:01] I: OS name: Windows 7

    [02.06.2016 18:30:01] I: OS version: 6.1

    [02.06.2016 18:30:01] I: OS arch: 64 bit

    [02.06.2016 18:30:01] I: Home directory: C:jBART-master

    [02.06.2016 18:30:01] I:

    [02.06.2016 18:30:01] I:

    [02.06.2016 18:30:01] I: ******** Installing frameworks ********

    [02.06.2016 18:30:01] I: **** Decompiling framework-res.apk ****

    [02.06.2016 18:30:01] I: Using apktool-2.1.0-285da3-SNAPSHOT-BZ.jar

    [02.06.2016 18:30:01] I: I: Using Apktool 2.1.0-285da3-SNAPSHOT on framework-res.apk

    [02.06.2016 18:30:01] I: I: Loading resource table…

    [02.06.2016 18:30:02] I: I: Decoding AndroidManifest.xml with resources…

    [02.06.2016 18:30:02] I: I: Regular manifest package…

    [02.06.2016 18:30:02] I: I: Decoding file-resources…

    [02.06.2016 18:30:19] I: I: Decoding values */* XMLs…

    [02.06.2016 18:30:21] I: I: Copying assets and libs…

    [02.06.2016 18:30:21] I: I: Copying unknown files…

    [02.06.2016 18:30:21] I: I: Copying original files…

    [02.06.2016 18:30:21] I: ******** Decompiling finished ********

    [02.06.2016 18:30:21] I: Time elapsed: 0h 0m 20s 383ms

    ———————————————————————————————————————————————

    [02.06.2016 19:22:00] I: THURSDAY 02.06.2016 19:22:00

    [02.06.2016 19:22:00] I: Copyright: 2012-2015, Andrei Zhukouski (BurgerZ)

    [02.06.2016 19:22:00] I: xxx:

    [02.06.2016 19:22:00] I: xxx:

    [02.06.2016 19:22:00] I: All Rights Reserved

    [02.06.2016 19:22:00] I: **************************************************

    [02.06.2016 19:22:00] I: Welcome to jBART v3h build 20160329.03

    [02.06.2016 19:22:00] I: **************************************************

    [02.06.2016 19:22:00] I: License info:

    [02.06.2016 19:22:00] I: ID: XXXX

    [02.06.2016 19:22:00] I: Name: Public

    [02.06.2016 19:22:00] I: Serial: UNREGISTERED

    [02.06.2016 19:22:00] I: **************************************************

    [02.06.2016 19:22:00] I: Java version: 1.8.0_91

    [02.06.2016 19:22:00] I: OS name: Windows 7

    [02.06.2016 19:22:00] I: OS version: 6.1

    [02.06.2016 19:22:00] I: OS arch: 64 bit

    [02.06.2016 19:22:00] I: Home directory: C:jBART-master

    [02.06.2016 19:22:00] I:

    [02.06.2016 19:22:00] I:

    [02.06.2016 19:22:00] I: ******** Compiling file started ********

    [02.06.2016 19:22:00] I: **** Compiling framework-res.apk ****

    [02.06.2016 19:22:01] I: I: Using Apktool 2.1.0-285da3-SNAPSHOT

    [02.06.2016 19:22:01] W: W: Could not find sources

    [02.06.2016 19:22:01] I: I: Building resources…

    [02.06.2016 19:22:23] W: W: warning: string ‘allow_button’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘deny_button’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘other_permissions’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_authenticateAccounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_clearAppCache’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_manageAccounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_manageAppTokens’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_setProcessLimit’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_shutdown’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permdesc_signalPersistentProcesses’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permgroupdesc_accounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permgrouplab_accounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permission_remember_choice’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permission_title’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_authenticateAccounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_bindPackageVerifier’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_manageAccounts’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_performCdmaProvisioning’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_runSetActivityWatcher’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_setProcessLimit’ has no default translation.

    [02.06.2016 19:22:23] W: W: warning: string ‘permlab_useCredentials’ has no default translation.

    [02.06.2016 19:22:27] I: I: Copy original files…

    [02.06.2016 19:22:27] I: I: Copy AndroidManifest.xml…

    [02.06.2016 19:22:27] I: I: Copy META-INF…

    [02.06.2016 19:22:27] I: I: Building apk file…

    [02.06.2016 19:22:29] I: I: Copying unknown files/dir…

    [02.06.2016 19:22:30] I: ******** Compiling finished ********

    [02.06.2016 19:22:30] I: Signing file: C:jBART-masterframework-res.apk.bzprjcompiledframework-res.apk

    [02.06.2016 19:22:32] I: Signed output file: C:jBART-masterframework-res.apk.bzprjcompiledsigned_framework-res.apk

    [02.06.2016 19:22:32] I: Sign keys: PLATFORM

    [02.06.2016 19:22:32] I: Time elapsed: 0h 0m 31s 372ms

  • Мощный инструмент и лучший в плане работы с файлами, однако что-то после деодекса MIUI v8 (6.6.17, Redmi Note 2) прошивка не грузится… Версия Jbart на данный момент. последняя