APK Lang Integrator
Skrypt powstał dawno temu. Napisałem od zera.
Założeniem jest automatyczne tłumaczenie aplikacji jeśli posiadamy chiński ROM oraz drugi ROM z językiem, który nas interesuje. Dekompiluje, kopiuje pliki językowe i rekompiluje.
Np. Mam aplikację:
SystemUI.apk z chińskiego romu
ale mam również ROM w tej samej wersji (np. Adnroid 4.0.4) co więcej z tym samym procesorem MTK65xx w języku polskim.
Wtedy ten skrypt zdekompiluje naszą chińską aplikację, doda język (i to co wybierzemy np. całe resources) od aplikacji z językiem polskim i skompiluje do wyjściowej.
Nie działa na samym początku? Nie spełniłeś wymagań!
Wymagania:
Zainstalowana Java w wersji 1.7 (Java 7)
Dodana ścieżka do javy w systemowej zmiennej %path%:
C:\Program Files (x86)\Java\jre7\bin;
(po wpisaniu java -version w konsoli ma się wyświetlić zainstalowana wersja)
Można dopisać w skrypcie linijkę:
set path=%path%;C:\Program Files (x86)\Java\jre7\bin;
Opis folderów:
integrated-apps/ - wynikowy folder; gotowe zrekompilowane aplikacje z dodanymi językami
stock-apps/ - aplikacje .apk, które chcemy przetłumaczyć UWAGA: można skopiować tylko jedna aplikację i tylko ją będzie próbował tłumaczyć skrypt
stock-framework/ - cały podfolder /system/framework od aplikacji, kóre chcemy tłumaczyć (czyli od naszego chińskiego)
to-integrate/ - folder z aplikacjami .apk od których skrypt skopiuje tłumaczenia
to-integrate-framework/ - cały podfolder /system/framework od systemu z którego czerpiemy tłumaczenie
stock-frameworks.txt - tuaja dopsiujemy pliki res np. framework-res.apk, mediatek-res.apk z folderu stock-framework/
toint-frameworks.txt - tak smao jak wyżej ale z folderu to-integrate-framework/
Tłumacznie framework-res.apk:
skopiuj pliki framework-res.apk do folderu
stock-apps z stock-framework
to-integrate z to-integrate-framework
Odpal program.
Używanie:
Kopiujemy pliki do odpowiednich folderów zgodnie z opisami powyżej.
Odpalamy plik a.bat, każdy wybór zatwierdzamy Enterem
Wybieramy 1 aby przejść do instalacji frameworków, jeśli na liście pojawią się odpowiednie pliki to wybieramy y
Skrypt zainstaluje frameworki (w razie błędów brakuje plików w folderach, złe nazwy, lub patrz log.txt). Czekamy aż pod każdym plikiem pokaże się [OK].
Kolejny krok to wybór języka
Możemy wybrac konkretny np. pl
lub wszystkie wpisując tylko *
Zawtierdzamy wybór za pomocą y
code= *
Folder name: values-*
Is it correct folder name? (y/n)
y
Tryby integracji
1. Dodaje tylko nieistniejące foldery values-xx
2. Dodaje nieistniejące values-xx dla wybranego języka w poprzednim kroku
3. Dodaje wybrane w poprzendim kroku ale jeśli istnieją to zamienia
4. Zamienia wszystkie values-xx
5. Dodaje wszystkie nieistniejące foldery i pliki z /res/
6. Podmienia wszystko z /res/!!!
7.Podmienia wszystkie pliki zostawiając tylko oryginalny certyfikat i podpis.
cc - tryb dekompilacji z czekaniem; dekompiluje aplikacje to podfolderu temp/ i czeka aż my coś zrobimy ręcznie z plikami aplikacji. W podflderze temp są dwa foldery z nazwą aplikacji, oryginalna nazwa i nazwa z dopiskiem -toint. Po wciśnięciu dowolnego przycisku zrekompiluje z podfolderu temp/nazwaplikacji
cc2 - dopisałem sobie żeby robić zipalign na każdej aplikacji; dekompiluje i kompiluje każdą aplikację z stock-apps (najlepiej skopiowac to samo do folderów stock i to-integrate)
Polecane tryby:
1 lub 5
Po wcsiśnięiu Enter zacznie się proces
Zasada w stock-apps muszą być takie same aplikacje jak w to-integrate żeby odbył się proces tłumaczenia
UWAGA 1:
Nie podmieniaj na raz wszystkich systemowych APK, rób to systematycznie żeby wyłapać, które nie działają. Zobacz plik log czy nie wyskoczyły żadne błędy. (czasami trzeba dodać np. jakieś tłumaczenia bo brakuje jakiejś linijki)
VER 1.0:
Ręczny zipalign i pakowanie aplikacji 7zipem, ręczne kopiowanie podpisów i certyfikatów.
Download:
W załączniku lub http://www.mediafire.com/download/h4u3tslftxm6h6r/langi-1.0.zip
Info:
Przetłumaczyłem w ten sposób rom dla K-Touch U9 i Lenovo S60.
Nie korzystam z apktool w wersji 2.0 bo ma problem z certyfikatami.
Forum po zmianach, link nie działa