PDAclub.pl - Forum użytkowników technologii mobilnych

Android OS => Android - Ogólnie => Wątek zaczęty przez: qwerty90 w Kwiecień 01, 2013, 16:23:57

Tytuł: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: qwerty90 w Kwiecień 01, 2013, 16:23:57
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.
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: don.kamillo w Kwiecień 01, 2013, 16:53:25
Podkleić i na główną z osobnym tematem. świetna robota  :grin:
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: JohnyS w Kwiecień 01, 2013, 17:46:59
Czy można w ten sposób zmienić też wizualnie widget aplikacji ?
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: qwerty90 w Kwiecień 01, 2013, 18:02:49
Podkleić i na główną z osobnym tematem. świetna robota  :grin:

Dzięki za pozytywną opinie  :)

@up
Tak, można
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: don.kamillo w Czerwiec 11, 2013, 00:36:00
qwerty90, a nie wiesz może, czy można za pomocą tego programu zmienić ikony w aplikacji SMS?
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: qwerty90 w Czerwiec 11, 2013, 07:36:22
Najprawdopodobniej da rade  :)
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: don.kamillo w Lipiec 09, 2013, 21:11:16
Przy próbie kompilacji pojawia mi się takie coś:

Microsoft Windows [Wersja 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.

C:\Users\Kamil>apktool b C:\apk\SystemUI SystemUI1
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
        at brut.androlib.Androlib.readMetaFile(Androlib.java:142)
        at brut.androlib.Androlib.build(Androlib.java:159)
        at brut.androlib.Androlib.build(Androlib.java:154)
        at brut.apktool.Main.cmdBuild(Main.java:182)
        at brut.apktool.Main.main(Main.java:67)
Caused by: brut.directory.PathNotExist: apktool.yml
        at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:
103)
        at brut.androlib.Androlib.readMetaFile(Androlib.java:138)
        ... 4 more
Co mam zrobić?
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: qwerty90 w Lipiec 09, 2013, 21:28:27
Wyślij mi 2 pliki:  systemUI.apk i Framework-res.apk . Zobaczę, jak u mnie będzie  :)
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: don.kamillo w Lipiec 09, 2013, 22:11:37
Uploadują się :) Co gorsza, ja wcale nie wiem, czy to zadziała. Chciałem przesunąć zegarek na środek, ale w paranoidzie to trochę inaczej wygląda, niż w instrukcji...
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: qwerty90 w Lipiec 09, 2013, 22:38:31
A przy dekompilacji były jakieś problemy? Korzystałeś z tego:

Cytuj
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

Osobiście dekompilowałem SystemUI to co wysłałeś. Bez dodania pliku framework były problemy, ale po dodaniu wszystko było ok  :)
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: erykgwro98 w Lipiec 10, 2013, 07:04:06
JA to robie winrar-em.
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: don.kamillo w Lipiec 10, 2013, 07:10:41
No ok, zdekompilowało się bez problemu, dzięki za radę :)
Problemem jest ponowna kompilacja, wyrzuca błąd przy pliku, który edytowałem (status_bar.xml), ale to kwestia zapewne frameworka paranoida.

EDIT: Znalazłem inny poradnik na xda o edycji tego pliku (center clock), w domu jeszcze się pobawię.


erykgwro98, nie jestem znawcą, ale winrarem raczej się nie zrobi pliku apk...
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: jan127 w Listopad 15, 2014, 12:00:51
Tutorial jak dekodować i enkodować apk wykorzystując Android Suite

How to translate file APk (http://www.youtube.com/watch?v=tVin7AFEU_s#ws)
Tytuł: Odp: [Tutorial] Edycja plików apk w prosty sposób
Wiadomość wysłana przez: Negatyw w Grudzień 01, 2014, 22:23:38
@ qwerty90
Czy korzystając z Twojego tutoriala, będę mógł zainstalować 2 wersje aplikacji Tapatalk na jednym fonie?
Chodzi o to, że wersja 2.3.0 to moja ulubiona wersja. Niestety wersja 4.9.5 potrafi uploadować obrazki.