APK-Tool

  • 15 Antworten
  • Letztes Antwortdatum
X

xneo70

Erfahrenes Mitglied
37
Hi.

Bin grad am versuchen mein theme in apk umzuwandeln.

Was ich bisher gemacht habe:

Habe den apktool von google site downgeladen, in usr/local/bin
Habe von hier:

Apktool v1.4.5 – a tool for reverse engineering apk files

apktool1.4.5.jar downgeladen (habs auch mit 1.4.3 und 1.4.2 probiert!) und immer im gleichen verzeichniss reincopiert.

Nun habe ich ein apk (Mixer.apk und template von http://bit.ly/hdEWsf tmobile template)

Ich habe dann mit:

apktool d main_source_verzeichniss mein_output_verzeichniss

decompiliert, scheinbar ohne fehler, und im verzeichniss finde ich auch alle xml und pngs decompiliert inclusive die .9.pngs

wenn ich aber dann mit:

apktool b -f -d mein_output_verzeichniss

probiere dann bekomme ich nur einige fehler:

Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3438972111330272522.tmp, -x, -I, /home//mperath/apktool/framework/1.apk, -S, /DatiDisco/mperath/develope/ErsterVersuch/res, -M, /DatiDisco/mperath/develope/ErsterVersuch/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
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.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3438972111330272522.tmp, -x, -I, /home/mperath/apktool/framework/1.apk, -S, /DatiDisco/develope/ErsterVersuch/res, -M, /DatiDisco/develope/mperath/ErsterVersuch/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:87)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
Caused by: java.io.IOException: Cannot run program "aapt": java.io.IOException: error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:483)
at brut.util.OS.exec(OS.java:78)
... 7 more
Caused by: java.io.IOException: java.io.IOException: error=13, Permission denied
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:468)
... 10 more

Ich habe es als Root und als normaler benutzer versucht. Wenn ich es als root versuche dann bekomme ich ein: can't open xserver (oder ähnlich) und kein permission denied!

Das verzeichniss ErsterVersuch ist so:

drwxr-xr-x 6 mperath mperath 4096 2012-05-14 16:31 ErsterVersuch

Versteh nicht wo der den "Permission denied" herbekommt! Bin nicht so 100% ig linux experte, und mit den permissions noch nicht ganz vertraut.

Kann mir denn jemand bitte helfen?

Achja benutze kubuntu 11.

Danke an alle.
 
hast du auch das android sdk installiert?
 
Hallo, ich wollte auch mal was mit dem Tool ändern, kam aber nicht mal rein. ist es über Windows oder über das Telefon zu bedienen ?
ich hab zu Hause nie nen Zugang bekommen. Konsolenfenster Blitz auf, nix passiert. und das SDK hab ich auch nicht, ist das notwendig?

Der ursprüngliche Beitrag von 20:47 Uhr wurde um 21:09 Uhr ergänzt:

ja. ...sufu ist was feines. Sorry für meine Frage. werde mich mal Aufschlauen.. ...
https://www.android-hilfe.de/forum/...-veraendern-erstellen-installieren.91528.html
 
Ha hab ich. Der Fehler bezieht sich aber auf "permission denied"


Inviato dal mio GT-I9100 con Tapatalk 2
 
SDK brauchst du gar nicht. Du brauchst eine passende Kombination aus apktool-1.4.2.jar (für Modifikationen an der framework-res.apk), apktool-1.4.3.jar für die sonstigen APKs und aapt.exe. Von all denen gibt es verschiedene Versionen im Netz, die nicht unbedingt alle miteinander können.
Ein apktool-1.4.5.jar kenne ich gar nicht. Das muss aber nichts heißen, ich habe nicht mehr danach gesucht seitdem ich eine Kombination gefunden habe, die fehlerfrei funktioniert.


Ciao
Toscha
 
sdk braucht man nicht zwangsläufig, stimmt. ich benutzte den apk manager 5.0.2 mit apktool 1.4.2 und kann soweit alles de/compilieren
 
Gibt's denn ne richtige guide für "how to"?

Was heisst ein mix von beiden?

Ich nehme zb ein bestehendes theme apk, decompiliere es mit apktool, und es scheint keine fehler zu melden. Ohne nichts zu verändern will ich es wieder kompilieren, aber da meldet es mir den fehler den ich oben genannt habe.

Was ich verstehe, ist apk manager eigentlich nur ein anderes programm statt dem apktool, und macht ungefähr das gleiche.

Wo liegt denn da der unterschied? Ich möchte eigentlich nur ein bestehendes theme apk mit meinen grafiken ergänzen.

Welchen tool sollte ich da denn benutzen? Denn im internen einer theme ist auch etwas vom framework.

Aber was mich stutzig macht ist ja dass "Permission Denied" und ich verstehe nicht in welchem verzeichniss oder datei es nicht zugreifen kann!

Der ursprüngliche Beitrag von 09:06 Uhr wurde um 09:19 Uhr ergänzt:

Ja ja. Nun hab ich das problem "Permission Denied" gelöst. Es konnte nicht das tool aapt starten denn es gehörte root. Hab ich gewechselt mit chmod 777

Nun aber ist der Fehler anders geworden:

I: Smaling...
I: Building resources...
invalid resource directory name: /DatiDisco/mperath/develope/XneoProject/res/drawable-sw600dp-hdpi
invalid resource directory name: /DatiDisco/mperath/develope/XneoProject/res/drawable-sw600dp-xhdpi
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL4686469926827820868.tmp, -x, -I, /home/mperath/apktool/framework/1.apk, -S, /DatiDisco/mperath/develope/XneoProject/res, -M, /DatiDisco/mperath/develope/XneoProject/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
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.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL4686469926827820868.tmp, -x, -I, /home/mperath/apktool/framework/1.apk, -S, /DatiDisco/mperath/develope/XneoProject/res, -M, /DatiDisco/mperath/develope/XneoProject/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more

Ich kriegs einfach nicht hin! Kanns sein dass es von Linux abhängt, und dass das alles in Windows einfacher währe?

Ich nehme ein theme, decompilieren geht ohne probleme, nur beim wiederkompilieren meldet er fehler, und ich habe gar nichts daran geändert.
 
hab das gleiche problem mit dem error gehabt. seitdem benutz ich einfach 7zip und wähle als format zip. die zip einfach in apk umbenennen fertig. das gleiche beim entpacken
 
Ja ja, das brigts aber nicht würklich, denn ich möchte am ende auch einige xml dateien ändern. Denn sonst kann ich das thema das ich geändert hab nicht mehr im originalzustand benutzen. Und mann kann so di 9.png nicht ändern, da diese ja auch kompiliert sind.

Also keine brauchbare lösung in sachen theming!
 
oh, gut zu wissen, wieder was gelernt :)

hab jetzt bisschen probiert und habe den brute error wegbekommen. kann nun framework-res.apk, framework-res-hwext.apk & SystemUI.apk ohne probleme decompilieren.

Bei dem AutoAPKTool sind 3 verschiedene apktool versionen enthalten, 1.3.2 lief ohne probleme.

Habs mal in meine Dropbox gepackt.

AutoAPKTool2.0.4.zip
 
Zuletzt bearbeitet:
Das ist aber die version für windows. Gibts die denn auch für linux?
 
Hab hier mal ein scheinbar recht gutes programm zum Modden gefunden,ersetzt quasi das APKTool

Virtuous ROM: Ten Studio

Habs noch nicht 100% getestet mach aber nen guten eindruck

Würde es aber Anfängern nicht empfehlen,eher für dei etwas Fortgeschritenen
 
Der Effekt, dass eine APK ohne irgendwelche Änderungen beim Re-Kompilieren zu Fehlern führt, ist bekannt. Offensichtlich ist der Parser des apktools, egal welche Version, weniger fehlertolerant also die Compiler, die Samsung oder irgendwelche OEMs einsetzen. Da hilft nur, die Fehler in der APK Schritt für Schritt zu beseitigen. Meine Test-APK ist SystemUI.apk (LPQ-Version), die lässt sich immer fehlerfrei de- und re-kompilieren.

Was mich bei deiner Fehlermeldung irritiert, ist die erste Zeile:
I: Smaling

Smaling / Backsmaling ist AFAIK eine komplett andere Form der Erstellung einer APK, die apktools sind dazu gar nicht geeignet. Zumindest erscheint 'Smaling' hier bei keiner APK.


Ciao
Toscha
 
Den "Ten -Studio" habe ich auch gerade heute gefunden, sieht sehr gut aus, nur immer nur für Windows. Ich suche aber immer noch Linux componenten.

Ich habe aber auch diese seite gefunden:

[GUIDE] T-mobile theme engine for the faint at heart (non-linux users) - xda-developers

Hier erklärt er wie man ein theme erstellen kann. Ich habe decompile und recompile mit den theme template der dort verlinkt ist, und siehe da, es klappt (hab noch nicht versucht es zu installieren, aber wahrscheinlich komm ich ums signieren nicht herum, werd mich damit dann später befassen!)

Was mir nicht ganz klar ist, ist punkt 7:

7. Now, if you are making a theme from scratch, go ahead and just edit the images already in the hdpi folder. compile and sign. done. But, read on anyway because i explain how the theme engine works below.

So wie ich es verstehe, steht hier dass wenn mann ne neue theme entwickelt, soll mann einfach die icons in den hdpi verzeichnissen wechseln compilieren und gut.

Da kommt mir aber ein gedanke: wenn ich icons adden will (die in den verzeichnissen zb nicht vorhanden sind, und nicht einfach so ersetzen kann) muss ich doch im xml dateien diese png declarieren, oder? Verstehe ich dass falsch? Ausserdem sind da bilder drinne, die ich gar nicht will oder gar nicht verändern will, soll ich die drinn lassen? Denn die sind ja verschieden von den originalen der rom! Würde ich sie belassen, würden sie die originalen ja ersetzen. Wenn ich sie lösche dann gibts wahrscheinlich probleme beim kompilieren?
 
Mal eine Frage, ich kann dieses Tool nicht starten unter win7 64bit....

Er scheint kurz und ist weg... was kann das sein?!
 
Hallo,
ich weiß, dass hier schon ein ähnliches Problem beschrieben wurde aber wirklich geholfen hat mir das nicht.

Zu meinem Problem.
Ich wollte ein wenig an einer ROM rumbasteln und die Settings.apk so verändern, dass die Überschriften in den Einstellungen anders sind.

Decompilen der Settings.apk hat gut geklappt.
Dann habe ich mit notepad++ die Settings-headers.xml so geändert, wie ich es wollte.
Beim recompilen kahm dann allerdings folgender Fehler: Unbenannt.png

Ich habe es manuell mit dem apktool versucht und auch mit dem Auto Apktool...

Jedesmal der gleiche Fehler..
Auch, wenn ich nichts an den Dateien ändere sondern sofort wieder versuche zu recompilieren.

Kann mir da jemand weiterhelfen?
Wäre echt nett..

_____________________________________
Edit:
@Multisaft7
Du musst nicht das Tool öffnen sondern mit CMD in den Ordner navigieren. Das geht z.B. ganz gut, indem du Shift+Rechtsklick auf den Ordner machst und dann wählst "eingabeaufforderung hier öffnen"

Eine genaue Anleitung gibt es hier.

PS: Meine Frage besteht immer noch ;)

Edit2+Lösung des Problems:

Die Lösung war, dass meine aapt veraltet war.
Einfach die neuste Version des sdk laden, die platform-tools installieren lassen und die apktool.jar in den pfad packen, wo auch die aapt liegt.
Hat alles wunderbar geklappt!
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Pocketsoldier

Ähnliche Themen

2
Antworten
6
Aufrufe
689
24559
2
S
  • segler11
Antworten
0
Aufrufe
1.429
segler11
S
H
Antworten
1
Aufrufe
1.319
halorx
H
Zurück
Oben Unten