Frage - SystemUI.apk

  • 18 Antworten
  • Neuester Beitrag
Diskutiere Frage - SystemUI.apk im Root / Custom-ROMs / Modding für Samsung Galaxy S3 im Bereich Samsung Galaxy S3 (I9300) Forum.
EdleRatte

EdleRatte

Dauergast
die apk auf deinem computer kopieren und sie dann zum beispiel mit winrar öffnen, ich würde aber sicherheitshalber nen backup vorher machen

Gesendet von meinem GT-I9100 mit der Android-Hilfe.de App
 
thisisme

thisisme

Erfahrenes Mitglied
EdleRatte schrieb:
die apk auf deinem computer kopieren und sie dann zum beispiel mit winrar öffnen, ich würde aber sicherheitshalber nen backup vorher machen

Gesendet von meinem GT-I9100 mit der Android-Hilfe.de App
Das ist mir schon klar habe ich auch gemacht, allerdings soll da halt ein Verzeichnis sein "/res/values", das ist da aber einfach nicht.
 

Anhänge

EdleRatte

EdleRatte

Dauergast
dieser ordner ist auch in der framework-res.apk :D

oh, gerade bemerkt das er angeblich auch in der SystemUi.apk sein soll, sorry dann habe ich keine ahnung

Gesendet von meinem GT-I9100 mit der Android-Hilfe.de App
 
thisisme

thisisme

Erfahrenes Mitglied
Habe gerade versuch die .apk zu decompilen, keine Ahnung ob das Sinn macht oder nicht ...
Jedenfalls funktioniert das decompilen nicht

Fehlermeldung von "APK Manager 5.0.2":
Code:
-------------------------------------------------------------------------- 
|07.08.2012 --  2:02:32,23| 
-------------------------------------------------------------------------- 
Der Befehl "mode" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
C:\Users\Julian\Downloads\Apk_Manager_5.0.2\place-apk-here-for-modding\../place-apk-here-for-modding/signedSystemUI.apk konnte nicht gefunden werden
C:\Users\Julian\Downloads\Apk_Manager_5.0.2\place-apk-here-for-modding\../place-apk-here-for-modding/unsignedSystemUI.apk konnte nicht gefunden werden
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x7f0201c2 drawable/status_bar_background, config=-v13
	at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
	at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
	at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)
	at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165)
	at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
	at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:105)
	at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
	at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
	at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:315)
	at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:50)
	at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:43)
	at brut.androlib.Androlib.getResTable(Androlib.java:44)
	at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
	at brut.apktool.Main.cmdDecode(Main.java:120)
	at brut.apktool.Main.main(Main.java:57)
PS: Hab es einmal mit einer odexed Version & einmal mit einer deodexed version versucht - beides selber Fehler.
 
K

Kiray1982

Enthusiast
richtig, du musst decompilen.
der ordner value befindet sich vor dem decompilen in SystemUI.apk/ressources.arsc

dein apkmanager ist veraltet. abhilfe:
lösche vor dem decompilen die classes.dex aus der systemui.apk raus.
nach dem ändern etc compilst du wieder. dann kopierst die classes.dex aus deiner originalen apk wieder in die neue apk hinein.
wenn du keine dex innerhalb der apk hast, wirst mit sicherheit ne odexte version haben. besorg dir wenn mgl. also ne deodexte (akp mit *.dex)
 
thisisme

thisisme

Erfahrenes Mitglied
Jetzt hab ich mir meien SystemUI.apk zerschossen :D

Im Anhang die zip, die ich geflasht habe ...
 

Anhänge

  • CustomSystemUI[1].zip
    1,4 MB Aufrufe: 134
extralife

extralife

Dauergast
deshalb auch immer eine cwm.zip mit den originalen daten auf der sdcard haben, oder den umgang mit adb lernen.
 
thisisme

thisisme

Erfahrenes Mitglied
extralife schrieb:
deshalb auch immer eine cwm.zip mit den originalen daten auf der sdcard haben, oder den umgang mit adb lernen.
Ja ein Backup hab ich ja auch gemacht & wiedr drüber geflasht, ging auch.

Allerdings würde ich schon gern wissen was jetzt der Fehler daran war habs so gemacht, wie es im Tutorial stand.

EDIT: Gelöst!
Ich hatte
Code:
apktool b SystemUI
man muss aber
Code:
apktool b -f -d SystemUI
 
Zuletzt bearbeitet:
K

Kiray1982

Enthusiast
muss nicht :) hab es ja auch bisher ohne geschafft :)
 
thisisme

thisisme

Erfahrenes Mitglied
Kiray1982 schrieb:
muss nicht :) hab es ja auch bisher ohne geschafft :)
Bei mir kam es bis jetzt immer zu Fehlern, wenn ich die 2 Parameter nicht gesetzt hatte.
(Was bewirken die eigentlich?)

Gesendet von meinem GT-I9300 mit der Android-Hilfe.de App
 
K

kaufmann09

Fortgeschrittenes Mitglied
Sorry, wenn ich hier mal was dazwischen Frage. Ich hühnere hier gerade mit dem mir völlig unbekannten Apkmanager 5.0.2 rum. Ich möchte eigentlich nur wissen, ob eine bestimmte Variable in einem XML-File auf true oder false steht. Auch Systemui.apk. Ich will also nur dekompilieren (wenn ich das richtig verstanden habe). Die apk liegt unter C:\Apk_Manager_5.0.2\place-apk-here-for-modding\SystemUI.apk

Ich bekomme folgende Fehlermeldung:

Code:
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
C:\Apk_Manager_5.0.2\place-apk-here-for-modding\../place
-apk-here-for-modding/signedSystemUI.apk konnte nicht gefunden werden
C:\Apk_Manager_5.0.2\place-apk-here-for-modding\../place
-apk-here-for-modding/unsignedSystemUI.apk konnte nicht gefunden werden
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources:
spec=0x7f02002d drawable/ic_sysbar_ime_default, config=-xhdpi-v13
        at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:65)
        at brut.androlib.res.data.ResConfig.addResource(ResConfig.java:58)
        at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:196)

        at brut.androlib.res.decoder.ARSCDecoder.readConfig(ARSCDecoder.java:165
)
        at brut.androlib.res.decoder.ARSCDecoder.readType(ARSCDecoder.java:130)
        at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
5)
        at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:82)
        at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:48)
        at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:315)
        at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:50)
        at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:43)
        at brut.androlib.Androlib.getResTable(Androlib.java:44)
        at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:148)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
        at brut.apktool.Main.cmdDecode(Main.java:120)
        at brut.apktool.Main.main(Main.java:57)
Drücken Sie eine beliebige Taste . . .
Was mache ich falsch?
 
K

Kiray1982

Enthusiast
einfacher tip:
lösch mal die classes.dex innerhalb der apk vor dem decompile.

Gruß Kiray

Der ursprüngliche Beitrag von 18:14 Uhr wurde um 18:16 Uhr ergänzt:

thisisme schrieb:
Bei mir kam es bis jetzt immer zu Fehlern, wenn ich die 2 Parameter nicht gesetzt hatte.
(Was bewirken die eigentlich?
apktool b -d -f blubb.apk

-f = force-all (prüft keine Änderungen, compiliert einfach die apk)
-d = debugmode
 
K

kaufmann09

Fortgeschrittenes Mitglied
Habe ich bereits. Die .dex Datei ist nicht mehr drin.
 
K

Kiray1982

Enthusiast
framework-res.apk hast du installiert bzw in den entsprechenden Ordner gepackt?

Ich mag diese autmatischen Tools ned... finds manuell bequemer, vor allem solche Fehler zu finden...
 
K

kaufmann09

Fortgeschrittenes Mitglied
Kiray1982 schrieb:
framework-res.apk hast du installiert bzw in den entsprechenden Ordner gepackt?
Nein und Nein. Die Datei habe ich gar nicht. War auch in dem zu flashenden zip-File nicht drin. Wo kommt die her?
 
K

Kiray1982

Enthusiast
von deinem System^^
Die SystemUi.apk ist eine framework abhängige systemapp. daher wird der framework benötigt.
Wie?
versuchs mal mit meinem Guide, #1 oben ist ein Anfänger selbst-mach-guide zum decompilieren.
 
thisisme

thisisme

Erfahrenes Mitglied
hier der Guide von Kiray1982, nachdem es bei mir super funktioniert hat:
defintitv: apktool!

How-To Simple De-Compile

1. apktool downloaden und entpacken
2. Phone mit dem PC verbinden
3. im apktool-Ordner "pull_framework.bat" klicken
4. "install_framework.bat" klicken
5. zu ändernde apk (z.b. MeineApk.apk) in den apktool-Ordner kopieren
5a. apk kopieren und umbenennen zu MeineApkorg.apk
5b. MeineApk.apk öffnen und classes.dex löschen

6. decompile:
ADB-Tools öffnen und folgenden Befehl eingeben: apktool d MeineApk.apk

7. Änderungen vornehmen im MeineApk-Ordner

8. compile:
ADB-Tools öffnen: apktool b -f -d MeineApk

9. Nun in den Ordner MeineApk/build wechseln, dort sind alle compilierten Einzeldateien enthalten, diese manuell in die originale MeineApkorg.apk kopieren.
(value-ordner befinden sich in der ressource.arsc)

10. Leer CWM.zip öffnen und neue apk in das entsprechende Verzeichnis kopieren

11. Zip auf die SD-Karte kopieren und flashen

Hinweis: Es geht sicherlich auch automatisch mit irgendwelchen Tools, aber so habt ihr als Anfänger den Überblick über die einzelnen Prozesse.
Fehler können relativ schnell nachvollzogen werden.
Auch wenn das viele Einzelschritte sind, nach der 3-4 apk decompile-action hat man den dreh raus und alles dauert max. 2-3 mins (abhängig von der Größe der apk)
apk-tool download
cwm flashable zip download
 
K

kaufmann09

Fortgeschrittenes Mitglied
Danke. Begriffen. Hat jetzt geklappt. Mein Problem war, das die apktool.jar zu alt war. F....

Und NATÜRLICH ist der gesuchte Parameter falsch gesetzt. Also muss morgen mal kompilieren.

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

Habe doch gleich kompiliert. Hat geklappt. Mein Problem ist gelöst. **freu**