Witam :)
Chciałbym wam pokazać, jak w dosyć prosty sposób edytować pliki APK (np zmienić ikone aplikacji czy zmienić nazwę). Będę próbował wam to pokazać na przykładzie znanego odtwarzacza muzyki - Apollo, który chciałbym dograć do romu CM 10
1. Pierwsza rzecz jaką musimy zrobić to ściągnąć oraz zainstalować jave
2. Należy ściągnąć program RedmondPath np stąd : http://www.mediafire.com/?u4f2690o8z9ffa8 (http://www.mediafire.com/?u4f2690o8z9ffa8) . Po ściągnięciu należy uruchomić program, kliknąć zielony plus w lewym górnym rogu i wskazać miejsce, w którym znajduje się java (w moim przypadku C:\Program Files\Java\jre7\bin ) :
(http://img197.imageshack.us/img197/8730/nowyobrazl.bmp)
3. Pobieramy 2 programy: apktool1.5.2.tar : http://www.mediafire.com/?mu5kiibxrwns02q (http://www.mediafire.com/?mu5kiibxrwns02q) oraz apktool-install-windows-r05-ibot.tar : http://www.mediafire.com/?8s0jb3k86ca6q47 (http://www.mediafire.com/?8s0jb3k86ca6q47) . Po ściągnięciu wypakowujemy pliki, a następnie wartość kopiujemy do folderu C:/apk :
(http://img560.imageshack.us/img560/6711/nowyobraz1z.png)
4. Kopiujemy do folderu C:/apk tą aplikacje którą chcemy edytować, a następnie uruchamiamy wiersz poleceń :
(http://img694.imageshack.us/img694/8250/nowyobraz2x.png)
5. wpisujemy w wierszu poleceń takie komendy :
cd C:/apk
apktool d (nazwa aplikacji) - czyli : apktool d apollo.apk
Po wpisaniu tej komendy należy chwile poczekać. Po chwili pojawi się C:/apk> oraz pojawi się dodakowy folder o nazwie aplikacji (u mnie apollo) :
(http://img19.imageshack.us/img19/7640/nowyobraz4c.png)
6. Edytujemy wybrane przez nas pliki. Nazwę zmieniamy w pliku apollo/res/values-pl/strings.xml, a jeżeli takiego nie ma to w apollo/res/values/strings.xml (jest to zależne, jaki język będzie ustawiony w telefonie, np jeżeli jest polski to wybieramy values-pl) w zakładce <string name="app_name">(nasza nazwa)</string> , czyli <string name="app_name">Muzyka</string>, a ikonke w zależności od aplikacji, ponieważ mogą być w różnych miejscach (ja miałem apollo/res/drawable-xhdpi/ (ważne, żeby była taka sama rozdzielczość oraz nazwa)
(http://img571.imageshack.us/img571/5879/nowyobraz5u.png)
7. Po edycji musimy ponownie skompilować. W wierszu poleceń wpisujemy apktool b (nazwa folderu) (nazwa nowej aplikacji1), czyli apktool b apollo apollo1.apk . Ważne, aby było w nazwie aplikacji 1.
(http://img16.imageshack.us/img16/4149/nowyobraz6r.png)
8. Aplikacja póki co nie będzie działać, należy jeszcze ją podpisać. W tym celu ściągamy program SignApk z tej strony: http://www.mediafire.com/?8a2pjhwyjx2ed21 (http://www.mediafire.com/?8a2pjhwyjx2ed21) i wypakowujemy w folderze C:/signapk
(http://img818.imageshack.us/img818/6633/nowyobraz7j.png)
9. Do folderu C:/signapk kopiujemy tamtą aplikacje z C:/apk , w moim przypadku jest to aplikacja apollo1
(http://img221.imageshack.us/img221/5406/nowyobraz8.png)
10.wchodzimy do wiersza poleceń i wpisujemy cd C:/signapk , a następnie:
java -jar signapk.jar certificate.pem key.pk8 (nazwa aplikacji1) (nazwa aplikacji) - u mnie będzie java -jar signapk.jar certificate.pem key.pk8 apollo1.apk apollo.apk .Po chwili dostaniemy komunikat C:/signapk> co oznacza że aplikacja jest gotowa.
(http://img836.imageshack.us/img836/7272/nowyobraz9i.png)
Jeżeli aplikacja nie chce się zainstalować lub podczas kompilacji albo dekompilacji wyskakują błędy musimy w inny sposób edytować aplikacje. Wszystko robimy podobnie, tylko że:
Na początku usuwamy folder C:/Users/nazwa_użytkownika/apktool
W punkcie 4 nie tylko kopiujemy aplikacje, ale także framework-res z romu, w którym chcemy zainstalować aplikacje
W punkcie 5 zamiast tamtych komend wpisujemy te:
cd C:/apk
apktool if framework-res.apk
apktool d -f (nazwa aplikacji) - czyli : apktool d -f apollo.apk
(http://img248.imageshack.us/img248/8593/nowyobraz10.png)
W punkcie 7 zamiast tamtej komendy wpisujemy tą:
apktool b -f (nazwa folderu) (nazwa nowej aplikacji1), czyli apktool b -f apollo apollo1.apk
Oto uzyskany efekt:
(http://img689.imageshack.us/img689/6884/beztytuukjqa.png)
Gotowe! Udało się zmodyfikować aplikacje!
Poradnik sam wykonałem, nie wyrażam zgody na kopiowanie na inne fora :)
Wszystkie poniższe czynności wykonujesz na własną odpowiedzialność,
nie biorę odpowiedzialności za błędy,
lub jeśli coś pójdzie nie tak jak powinno.