Fehler bei Kompilieren

  • 24 Antworten
  • Neuester Beitrag
Diskutiere Fehler bei Kompilieren im Android OS Entwicklung / Customize im Bereich Android App Entwicklung.
fotia1980

fotia1980

Erfahrenes Mitglied
Hallo zusammen,

ich wollte die framework-res.apk ändern und habe die Datei mit den ADK-Tools dekompiliert.

Wenn ich jetzt aber die Datei wieder kompilieren will, dann bekomme ich einen Fehler. Selbst wenn ich die original APK dekompiliere und direkt wieder kompiliere.

Mit dem Log kann ich irgendwie nichts anfangen, vielleicht kann mir jemand helfen!

Habe das SDK r17 und APKMultiToolv1.0.2.exe sowie Java installiert.

Die Log-Datei:
Code:
-------------------------------------------------------------------------- 
|24.03.2012 -- 18:01:25,14| 
-------------------------------------------------------------------------- 
--2012-03-24 18:01:25--  http://update.apkmultitool.com/apkver.txt
Resolving update.apkmultitool.com (update.apkmultitool.com)... 199.59.62.20
Connecting to update.apkmultitool.com (update.apkmultitool.com)|199.59.62.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 152 [text/plain]
Saving to: `apkver.txt'

     0K                                                       100% 1,24M=0s

2012-03-24 18:01:25 (1,24 MB/s) - `apkver.txt' saved [152/152]

Ein Unterverzeichnis oder eine Datei mit dem Namen "projects" existiert bereits.
Ein Unterverzeichnis oder eine Datei mit dem Namen "place-apk-here-for-modding" existiert bereits.
Ein Unterverzeichnis oder eine Datei mit dem Namen "place-ogg-here" existiert bereits.
Ein Unterverzeichnis oder eine Datei mit dem Namen "place-apk-here-to-batch-optimize" existiert bereits.
Ein Unterverzeichnis oder eine Datei mit dem Namen "place-apk-here-for-signing" existiert bereits.
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
Das System kann den angegebenen Pfad nicht finden.
Das System kann den angegebenen Pfad nicht finden.
I: Loading resource table...
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
aapt: warning: string 'policydesc_allow_htmlemail' has no default translation in C:\android-sdk-windows\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'policylab_allow_htmlemail' has no default translation in C:\android-sdk-windows\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'wifi_p2p_pbc_go_negotiation_request_message' has no default translation in C:\android-sdk-windows\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_display_message' has no default translation in C:\android-sdk-windows\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_go_negotiation_request_message' has no default translation in C:\android-sdk-windows\projects\framework-res.apk\res; found: en_GB es pt
C:\android-sdk-windows\projects\framework-res.apk\res\values\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\android-sdk-windows\projects\framework-res.apk\res\values\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\android-sdk-windows\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\android-sdk-windows\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\android-sdk-windows\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\android-sdk-windows\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\android-sdk-windows\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\android-sdk-windows\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\android-sdk-windows\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\android-sdk-windows\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Found tag </item> where </plurals> is expected
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\Dennis\AppData\Local\Temp\APKTOOL7848290780511187806.tmp, -x, -S, C:\android-sdk-windows\projects\framework-res.apk\res, -M, C:\android-sdk-windows\projects\framework-res.apk\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, C:\Users\Dennis\AppData\Local\Temp\APKTOOL7848290780511187806.tmp, -x, -S, C:\android-sdk-windows\projects\framework-res.apk\res, -M, C:\android-sdk-windows\projects\framework-res.apk\AndroidManifest.xml]
	at brut.util.OS.exec(OS.java:83)
	at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
	... 6 more
Es handelt such bei der framework-res.apk um die der XXPLQ Stock ROM.
 
toscha42

toscha42

Experte
Die framework-res der ICS-Versionen müssen mit apktool.jar 1.4.2, leider gibt es da mehr als eine Version mit der gleichen Versionsnr., dekompiliert werden; Rekompilieren geht dann mit dem passenden(!) - auch da gibt es wieder mehrere verschiedene Versionen mit gleicher Versionsnr. - apktool.jar 1.4.3.
Was habe ich da gesucht ...


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Hast du einen Link für die richtige für mich oder kannst mir die zusenden?
 
toscha42

toscha42

Experte
Kein Problem, s. Anhang.


Ciao
Toscha
 

Anhänge

  • Compile-APK.zip
    5,4 MB Aufrufe: 186
fotia1980

fotia1980

Erfahrenes Mitglied
Danke sehr, werde ich gleich morgen ausprobieren.

Gesendet von meinem A500 mit Tapatalk
 
fotia1980

fotia1980

Erfahrenes Mitglied
Hi noch mal, irgendwie klappt das nicht so wie es soll! Nach dem ich die Framework-res überspielt habe geht das Handy nicht mehr über den animierten Bootscreen hinaus.

Hast du auch eine Anleitung für mich?
 
toscha42

toscha42

Experte
Als erstes mal ein Backup einspielen. Und dann kommt es natürlich darau an, was du an der framework-res überhaupt verändert hast.
Nein, mal eben so eine Anleitung habe ich nicht.


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Das Backup habe ich bereits zurückgespielt und das Handy läuft wieder!

Ich habe aus der Strings Datei der framework-res.apk des Text "Zum Entsperren über den Bildschirm streichen" entfernt.
 
toscha42

toscha42

Experte
Aber hoffentlich nicht die ganze Zeile gelöscht, sondern nur den Text selbst. Die Zeile sollte jetzt so aussehen:
<string name="lockscreen_unlock_guide_text"> </string>


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Nein, natürlich nicht die ganze Zeile ;-)

Sie sieht jetzt so aus:
<string name="lockscreen_unlock_guide_text"></string>

Also ohne Leerschritt.

Was mir nach dem kompilieren war die neue framework-res knapp 3 MB kleiner!

Also im Ganzen bin ich so vorgegangen:

  1. dekompiliert mit de-res.bat
  2. den String geändert
  3. mit re.bat wieder kompiliert
 
toscha42

toscha42

Experte
Ich würd's mit Leerzeichen probieren, damit funktioniert das hier nämlich.

Und dass die Datei kleiner geworden ist, liegt nur an einer anderen Komprimierung. Das sollte aber kein Problem sein, das habe ich hier auch.


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Danke für deine Hilfe, jedoch jetzt will des Handy die Update.zip installieren :-(

ich finde keinen Fehler - dabei nutze ich übrigens deine Beschreibung

Mal er meldet bei der Installation nur
Code:
E:Error in /sdcard/update.zip
(Status 0)
hier ist auch mal mein Update.zip (durch das hochladen in Update[1].zip umbenannt)
 

Anhänge

  • update[1].zip
    6,4 MB Aufrufe: 129
toscha42

toscha42

Experte
Die Beschreibung ist eher nicht von mir ... :)

Des Weiteren passt folgende Zeile aus deiner framework-res wohl nicht:
<string name="lockscreen_unlock_guide_text" />
Da fehlt m.E. das schließende </string>

Hier sieht die gleiche Zeile so aus:
<string name="lockscreen_unlock_guide_text"> </string>

Und letztlich hast du eine recht alte update.zip gefunden. Ich weiß zwar nicht sicher, ob sich zwischen 'Gingerbread' und 'Ice Cream Sandwich' da viel geändert hat, ich weiß aber, dass die von mir verwendete, neuere update.zip funktioniert. Ich häng sie dir an, aber mit deiner framework-res, die also weiterhin den vermuteten Fehler hat.

Bzw. hätte ich sie dir gern angehängt, aber der Server des Forums ist gerade defekt und lässt ein Hochladen nicht zu.


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Habe ich die Zeile nicht abgeschlossen? Bin mir aber sicher das ich das getan hab :-/

Habe dir Neue pm geschrieben

Gesendet von meinem GT-I9100 mit Tapatalk
 
fotia1980

fotia1980

Erfahrenes Mitglied
Ich weiß echt nicht weiter.... mit deiner Datei klappt es auch nicht!

Habe jetzt die Zip von dem Battery Mod genommen, damit klappt alles bis auf der Schriftzug ist immernoch auf dem Lockscreen:crying:
 
D

desert0707

Stammgast
hast du denn in den values_de die zeile so abgeändert wie tosch42 es geschrieben hat?
ich kann deine framework-res ohne probleme dekombilieren und combilieren.

Edit. ok linux bin ich wirklich noch nicht so fit also die zeile wird immer so wenn du nur ein leerzeichen oder nix drinne lässt.
Hast du immer noch den Satz ste´hen:" Zum Entsperren über den Bildschrim wischen"?
 
Zuletzt bearbeitet:
toscha42

toscha42

Experte
fotia1980 schrieb:
Ich weiß echt nicht weiter.... mit deiner Datei klappt es auch nicht!
Dann machst du 'irgendetwas falsch'(tm). Die update.zip, so wie ich sie dir geschickt habe, ergänzt mit einer angepassten framework-res.apk, gehört irgendwo auf die SD-Karte. Und von dort installierst du sie mittels CWM - Flash Update.

fotia1980 schrieb:
Habe jetzt die Zip von dem Battery Mod genommen, damit klappt alles bis auf der Schriftzug ist immernoch auf dem Lockscreen:crying:
Hast du denn deine framework-res.apk so angepasst, wie in #13 beschrieben? In der framework-res.apk, die du gestern geschickt hattest, war ja noch ein Fehler.

Wenn dort alles passt, erscheint auf dem Lockscreen kein Schriftzug mehr. Es sieht dann aus, wie auf meinem Screenshot.


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Ich habe deine Update.zip genommen und testweise sogar die original Framework-res (ohne jegliche Änderung - noch nicht mal decompiliert) genutzt selbst da bekomme ich den selben Fehler wie in Post #12

Hast du ebenfalls die XXLPQ?
 
toscha42

toscha42

Experte
Klar läuft bei mir LPQ.

Wo genau hast du die update.zip abgelegt? Es gibt typischerweise zwei 'SD-Karten' im S II, eine festeingebaute interne, die wird als 'sdcard' angesprochen, und eine nachträglich einzusetzende - hat aber vielleicht nicht jeder -, die als 'external_sd' angesprochen wird.
Ich lege die update.zip nur auf der internen 'sdcard' ab, damit funktioniert es.


Ciao
Toscha
 
fotia1980

fotia1980

Erfahrenes Mitglied
Ich habe es sowohl aus auch ausprobiert!

Würdest du mir mal schreiben wie genau du beim dekompelieren und kompelieren vorgehst?

Ich glaube ich werde noch mal am anfang anfangen, nicht dass ich irgendwo doch ein Fehler gemacht habe!