1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Apktool - declared here is not defined

Dieses Thema im Forum "Android OS Entwicklung / Customize" wurde erstellt von mattmaso, 18.07.2010.

  1. mattmaso, 18.07.2010 #1
    mattmaso

    mattmaso Threadstarter Android-Experte

    Beiträge:
    460
    Erhaltene Danke:
    288
    Registriert seit:
    26.11.2009
    Kann mir jemand erklären was das soll? ^_^
     
  2. he_stheone64, 20.07.2010 #2
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Ich vermute das Du Änderungen vorgenommen hast an dekompilierten dateien, welche bei Komplilieren vorher einen entsprechenden Eintrag in der public.xml benötigen. Wenn die Referenz dort fehlt, dann kann apktool die apk nicht mehr packen. Hatte das Problem selbst mal, als ich in einer LatinIME die alternates bei longpress geändert habe - in public.xml müssen sogar die Anzahl der zeichen passen zu den Referenzen. Bin aber selbst noch Lernender - vielleicht kann Dir Brut da en Detail helfen.
     
    mista bedankt sich.
  3. mista, 18.08.2010 #3
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Hallo klinke mich mal hier ein..

    Also habe mit den Befehl :

    apktool d c:\framework-res.apk e:\decoded

    dekodiert und dann par icons \res\drawable-hdpi-v4 verändert und hinzugefügt
    und in \res\drawable par XML Dateien bearbeitet.

    dann wollte ich mit den Befehl:

    apktool b e:\decoded

    dann bekam ich lauter Fehlermeldungen..

    Hätte nie gedacht, dass es sooooooooooooo kompliziert wird eigene Mods zu erstellen..
     
  4. he_stheone64, 18.08.2010 #4
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    1. das -v4 muss vor dem kompilieren wieder weg - also so:
    res\drawable-hdpi

    2. Hast Du eine bereits gemoddete framework bearbeitet oder war die stock?
     
    mista bedankt sich.
  5. mista, 18.08.2010 #5
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    eine bereits bearbeitete...

    Ich kann auch die aus meine Desire mit Hilfe von ADB File Manager hier kopieren und bearbeiten..

    OpenDesire 3.2.1 BlackStatusBar
     
  6. he_stheone64, 18.08.2010 #6
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Da muckt apktool meistens, da z.B. da meist auch "getrickste" .9pngs drin sind (z.B. statusbar pngs), die nicht richtig gepatcht wurden und die er dann nicht richtig kompilieren kann. Daher nimm eine stock framework und kompilier die, damit die xmls passen und importier anschl die neuen pngs.
     
  7. mista, 18.08.2010 #7
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Was muss eigetnlich in die public.xml Datei rein.. alle referenzen zu jeder Animatuon/Datei?

    Gibt es da irgendwie ein tool der diese public.xml Datei automatisiert schreibt?
    Es ist schon mühselig jede Datei noch eine Fortlaufende hexadezimale id zu geben..

    wenn das alle per hand machen die einen Mod rausbringen.. Hut ab und Respekt!

    Ich könnte ja die framework-res.apk aus meinen aktuellen Desire ziehen und die bearbeiten.. warum steht da ja drawlable-hdpi-v4? Und was meinste mit "getricksten" .9pngs?

    Man man man.. da war ja das iPhone zu modden einfacher als Android.. Ich glaub mir fehlt da der Grundstein kann das sein?

    ich weiß nur, man muss die apk oder zips signieren.. und die public.xml Dateien ergenzen.

    zips installiert man per recovery und apks per installer vom Device..

    Schade dachte ich bekomm das alles ein wenig schneller hin..
     
  8. he_stheone64, 18.08.2010 #8
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Da bringst Du jetzt ein paar Dinge durcheinander (was am Anfang normal ist).

    In die public.xml musst Du nur was reinschreiben, wenn Du wirklich etwas hinzufügst, wenn Du nur bestehende xmls, resources oder pngs bearbeitest / ersetzt, kannst Du die in Ruhe lassen.

    Wegen der -v4 - ich dachte Du hast auch einen MS, in deinem Fall ist das ok so.

    Mit "getrickst" meine ich .9.pngs, die nicht mit Eclipse gepatcht wurden, weil sie nur an einer Stelle genutzt werden und man dann ohne patchen klar kommt (wie eben alle status bar pngs), dfa diese ja nicht in unterschiedlichen Grösssen gestreckt werden. Beim Dekompilieren fehlen dann natürlich die schwarezn Markierungen und das verwirrt dann apktool ;)
     
  9. mista, 18.08.2010 #9
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Ich habe da was hinzugefügt.. insgesamt 12 pngs. den rest ersetzt.

    was meinst Du mit MS und schwarze ;arkeirungen??
     
  10. he_stheone64, 18.08.2010 #10
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Neue pngs hinzufügen würde ich immer vermeiden, es gibt ja keinen echten Grund dafür, Du kannst ja vorhandene ersetzen mit neuen ersetzen, zumal es in der framework auch einige pngs gibt, die nicht mehr gebraucht werden (lockscreen von 2.01), die hab ich z.B. mit matt dann für den battery hack umgemodelt (plus natürlich neue Verweise in der xml).
     
  11. mista, 18.08.2010 #11
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
  12. he_stheone64, 19.08.2010 #12
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Nö -wäre nicht nötig, da Du ausreichend Dateien dafür hättest, die momentan nicht eingesetzt werden und deren Namen (da ja bereits mit ID versorgt) Du nutzen kannst. Dann musst Du lediglich nur noch die Verweise in die passenden xmls in drawable packen.

    Auf deine Weise machst Du Dir das Leben unnötig schwer und blähst auch noch die framework auf, was diese dann wieder langsamer macht.

    Du kannst u.a. alle jog_dial_arrow pngs nutzen (aus 2.01) und alle stat_sys cdma pngs (da wir nun mal nicht in cdma Netzen arbeiten).
     
    Zuletzt bearbeitet: 19.08.2010
  13. mista, 20.08.2010 #13
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Ok mal schauen, also wenn ich jetzt nur Bilder ersetze müsste ich es doch ganz einfach kompilieren können oder sehe ich das was falsch?
     
  14. he_stheone64, 20.08.2010 #14
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Dann ist es kein Problem - immer vorausgesetzt, das Du mit einer stock app angefangen hast. Bereits vorher gemoddete dekompiliert apktool zwar, meist aber als Einbahnstrasse - sprich nicht mehr zurück.
     
    mista bedankt sich.
  15. mista, 21.08.2010 #15
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Ok alles klar das erklärt dann einiges.. Und wie würdest Du dann anfangen zum Beispiel von OpenDesire 3.4 zu modden? geht das überhaput oder haben die schon was gemodded dann ist das ja nicht möglich so wie du es sagst...
     
  16. he_stheone64, 21.08.2010 #16
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Einfacher wäre folgendes:

    Lade Dir mein X10 Theme, Blacksun und froyo sense herunter, froyo Sense findest Du hier - http://www.android-hilfe.de/themes-fuer-motorola-milestone/37223-themes-he_stheone-froyo.html

    Das X10 nimmst Du als Basis, da hier alle Schriftfarben zu Sense passen.Aus Blacksun nimmst Du die contacts.apk und Launcher.apk (da X10 contacts auf Transparenz gemoddet ist) und ersetzt die X10 contacts damit bzw. den X10 Launcher (der ist ADW und passt dann nicht zum Sense Launcher).

    Jetzt lädst Du dir den Theme Porter (relativ neu - spart Dir ooooohne Ende Zeit) - Theme-Porter [v1.0] [Any Firmware / Rom Compatible] [WINDOWS] - xda-developers

    Du packst alle apps und framework-res.apk von X10 (Launcher & contacts von Blacksun) in die passenden new Ordner vom theme porter, die froyo sense apps und framework-res in die passenden old Ordner. Dann führst Du die Script.bat aus. Jetzt sind alle pngs passend in der X10 Vorlage.

    Nun musst Du noch die default_wallpaper.jpg aus dem drawable und drawable-hdpi Ordner der framework von froyo-sense in die neue packen (Theme Porter prüft nur pngs). Genauso gehst Du mit den wallpaper jpgs aus der Launcher.apk vor.

    Jetzt hast Du im Prinzip auf dem quick & dirty Weg dein Sense Klau Theme für 2.36 in 10 Minuten gepackt. Von dort aus kannst Du jetzt an den Details feilen. Zum Installieren nennst Du den Ordner am einfachsten X10, dann kannst Du es mit meinen X10 Scripts installieren. WICHTIG- die Ordnerstruktur muss identisch sein.

    Unanbhängig davon gibt es hier aber auch von santiemanuel ein sense ähnliches Theme. In meinem froyo sense sind übrigens auch die HTC IME und Fancy Widget drin. Die HTC IME muss aber vorher einmal regulär installiert werden, sonst gibt es FC`s.

    Zumm Thema bereits gemoddete Sachen zu modden - es geht natürlich, nur eben auf dem Umweg, das Du Änderungen an xmls in stock apps durchführst, diese dann kompilierst und anschl. die kompilierten xmls in die gewünschte app packst. Es gibt immer einen workaround...
     
    Zuletzt bearbeitet: 21.08.2010
  17. mista, 21.08.2010 #17
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Also wenn ich Dir jetzt sage, dass ich KEIN sense will?

    Ist auch egal.

    Eine vorerst letzte Frage:

    wenn ich bilder austausche muss ich immer dekopmpilieren und kompilieren und anschlißend signieren? Also wenn ich nicht an die xml rann muss? Also muss ich auch signieren obwohl ich nur die pngs ausgetauscht habe und der Name gleich geblieben ist?

    Ich weiß deine Hilfe echt zu schätzen aber gleich mit einen Port anfangen ist das nicht zu viel für mich? Ich würde gerne Anfangen mit den Modden von LauncherPro widgets oder das Transparenz setzen vom Facebook widget.

    Also gleich installier ich mir die gesammte Entwiklungsumgebung von Android, also SDK, Emulator und Eclipse.
     
  18. he_stheone64, 21.08.2010 #18
    he_stheone64

    he_stheone64 Android-Ikone

    Beiträge:
    6,852
    Erhaltene Danke:
    4,437
    Registriert seit:
    04.02.2010
    Bilder müssen nicht dekompiliert werden, normale pngs einfach ersetzen. Einfach apk mit zip Programm öffnen und rein das Bild. Ausnahmen sind immer nur .9.pngs, die müssen mit Eclipse gepatcht werden, dazu gibt hier ein TUT von mir.

    Zu Sense - war ein Missverständnis, aber über den Weg kannst Du andere Themen analog von anderen hdpi Plattformen (z.B. Nexus, Droid, DroidX) schnell porten.
     
  19. mista, 21.08.2010 #19
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Bin grade dabei ADT für eclipse zu isntalieren schlägt aber fehl... Habe Classic Eclipse 3.6 64bit ausgewählt.. jetzt probier ich mal die 32bit Version aus.. wenn es nicht geht soll ich dann eine 32bit 3.5.x Version probieren?

    Cannot complete the install because one or more required items could not be found.
    Software being installed: Android Development Tools 0.9.7.v201005071157-36220 (com.android.ide.eclipse.adt.feature.group 0.9.7.v201005071157-36220)
    Missing requirement: Android Development Tools 0.9.7.v201005071157-36220 (com.android.ide.eclipse.adt.feature.group 0.9.7.v201005071157-36220) requires 'org.eclipse.gef 0.0.0' but it could not be found
     
    Zuletzt bearbeitet: 21.08.2010
  20. mista, 21.08.2010 #20
    mista

    mista Android-Experte

    Beiträge:
    874
    Erhaltene Danke:
    83
    Registriert seit:
    18.07.2010
    Update:

    Alte installation von eclipse mit Aptana für PHP ohne Probleme.. Die Isntallation..

    Aber Java und Java EE Webdeveloper und Classic Edition 3.6 keine Chance es zu installieren.

    Habe grade das Hello Andorid Tutorlia hinter mir..

    Kann ich eigentlich ein APK dekompilieren (Beispiel launcherpro.apk) und dann in Eclipse öffnen? Und bearbeiten?
     

Diese Seite empfehlen