Skocz do zawartości

Wykryliśmy, że używasz AdBlocka  :emo_im_sad:

Proszę, dodaj nas do wyjątków:) Wyświetlamy jedynie ładne, idealnie dopasowane reklamy - żadnych wyskakujących okienek czy wideo! Reklamy to jedyne źródło utrzymania naszej społeczności.

Kliknij tutaj, aby dowiedzieć się jak to zrobić. Dziękujemy!

Wakacyjny konkurs fotograficzny Czytaj więcej.. ×
szymel00

Szybka i łatwa dekompilacja framework.jar

    Rekomendowane odpowiedzi

    szymel00

    CrbXX7L.png

    Ten Tutorial można wykorzystać do dekompilacji framework.jar tylko w ROM-ie deodex

    (Czym jest odex i deodex dla zainteresowanych).

    Wymagane Winrar lub 7-zip.

    Dekompilacja

    1

    framework.jar znajduje się w katalogu system/framework.

    2

    Kopiujemy plik framework.jar do dowolnego folderu w komputerze

    3

    Rozpakowujemy plik Winrar-em lub 7-zip aby dostać się do pliku classes.dex

    4

    Skopiuj plik baksmali.jar do tego samego folderu gdzie znajduje się classes.dex

    5

    Teraz idż do folderu z plikami classes.dex oraz baksmali.jar , naciśnij Shift oraz prawy klawisz myszki i wybierz opcje

    "Otwórz okno polecenia tutaj"

    wpisz ręcznie lub po prostu skopiuj:
    java -jar baksmali.jar classes.dex

    6

    Czekaj aż pliki się wypakują a w oknie poleceń pojawi się nowa pusta linia

    7

    Teraz zawartość pliku framework.jar znajduje się w folderze out , możesz edytować i dokonywać wybranych zmian w tych plikach ale nie wolno ci zmienić nazwy folderu

    (Pamiętaj do edycji plików używaj Notepad++)

    Re-kompilacja

    1

    Utwórz nowy folder i nazwij go recompile

    2

    Skopiuj do niego plik smali.jar oraz folder z dokonanymi zmianami out

    3

    Idź do folderu recompile , wciśnij klawisz Shift oraz prawy klawisz myszki wpisz w wierszu poleceń:

    java -jar smali.jar out -o classes.dex

    4

    Poczekaj aż w wierszu poleceń pojawi się nowa pusta linia

    5

    Otwórz framework.jar Winrar-em i zamień plik classes.dex swoim , który uprzednio zmodyfikowałeś. Koniec

    Życzę miłej zabawy z frameworkami

    ©

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    szymel00

    Oczywiście, że można i tak ale to już innym narzędziem można zrobić ;)

    Wysłane z mojego LG-P700 przy użyciu Tapatalka

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    BR4KUS
    A nie prościej:

    apktool d -f framework.jar

    apktool b -f framework.jar.out framework.jar

    d - dekompilacja

    b - kompilacja

    https://code.google.com/p/android-apktool/

    Zdekompilowało, ale przy kompilacji wywala błąd:

    Microsoft Windows XP [Wersja 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    
    C:\Documents and Settings\BR4KUS>cd C:\asd
    
    C:\asd>apktool d -f SystemUI.apk
    I: Baksmaling...
    I: Loading resource table...
    I: Loaded.
    I: Decoding AndroidManifest.xml with resources...
    I: Loading resource table from file: C:\Documents and Settings\BR4KUS\apktool\fr
    amework\1.apk
    I: Loaded.
    I: Regular manifest package...
    I: Decoding file-resources...
    I: Decoding values */* XMLs...
    I: Done.
    I: Copying assets and libs...
    
    C:\asd>apktool b -f SystemUI SystemUI.apk
    I: Smaling...
    I: Building resources...
    Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.Androl
    ibException: brut.common.BrutException: could not exec command: [aapt, p, --min-
    sdk-version, 19, --target-sdk-version, 19, -F, C:\DOCUME~1\BR4KUS\USTAWI~1\Temp\
    APKTOOL7003479958149862379.tmp, -0, arsc, -I, C:\Documents and Settings\BR4KUS\a
    pktool\framework\1.apk, -S, C:\asd\SystemUI\res, -M, C:\asd\SystemUI\AndroidMani
    fest.xml]
           at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
           at brut.androlib.Androlib.buildResources(Androlib.java:283)
           at brut.androlib.Androlib.build(Androlib.java:206)
           at brut.androlib.Androlib.build(Androlib.java:176)
           at brut.apktool.Main.cmdBuild(Main.java:228)
           at brut.apktool.Main.main(Main.java:79)
    Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not
    exec command: [aapt, p, --min-sdk-version, 19, --target-sdk-version, 19, -F, C:
    \DOCUME~1\BR4KUS\USTAWI~1\Temp\APKTOOL7003479958149862379.tmp, -0, arsc, -I, C:\
    Documents and Settings\BR4KUS\apktool\framework\1.apk, -S, C:\asd\SystemUI\res,
    -M, C:\asd\SystemUI\AndroidManifest.xml]
           at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
    a:357)
           at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
           ... 5 more
    Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
    k-version, 19, --target-sdk-version, 19, -F, C:\DOCUME~1\BR4KUS\USTAWI~1\Temp\AP
    KTOOL7003479958149862379.tmp, -0, arsc, -I, C:\Documents and Settings\BR4KUS\apk
    tool\framework\1.apk, -S, C:\asd\SystemUI\res, -M, C:\asd\SystemUI\AndroidManife
    st.xml]
           at brut.util.OS.exec(OS.java:89)
           at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
    a:355)
           ... 6 more
    invalid resource directory name: C:\asd\SystemUI\res/drwable-hdpi
    
    C:\asd>

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Masz aapt.exe w tym katalogu asd?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Zrób jeszcze apktool if framework-res.apk używając frameworka ze swojego romu.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    BR4KUS

    "Zainstalowałem" te framework-res.apk i SystemUI.apk i zdekompilowało się :D

    Tylko jeszcze nwm, czy będzie go dobrze kompilowało (napiszę później ;) ) bo zmieniam teraz AOSX 4.4.2 na stockowego 4.0.4 (z nakładką od Sony oczywiście) i będę go edytował dopiero...

    Dzięki za pomoc :D

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jak od Sony to jeszcze musisz dać apktool if i ten framework z uxp w nazwie podać by uniknąć kłopotów.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    BR4KUS

    Wiem...

    Teraz próbuję skompilować SystemUI (jak narazie dodałem tylko 1% battery i dodałem ikonki baterii), mam zainstalowane te trzy aplikacje i nie można tego skompilować :/

    (...)

    C:\apktool>apktool b -f  SystemUI
    I: Smaling...
    I: Building resources...
    C:\apktool\SystemUI\res\drawable\stat_sys_battery.xml:34: error: Error parsing X
    ML: not well-formed (invalid token)
    Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.Androl
    ibException: brut.common.BrutException: could not exec command: [aapt, p, --min-
    sdk-version, 15, --target-sdk-version, 15, -F, C:\DOCUME~1\BR4KUS\USTAWI~1\Temp\
    APKTOOL703732706267177899.tmp, -0, arsc, -I, C:\Documents and Settings\BR4KUS\ap
    ktool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\Andr
    oidManifest.xml]
           at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
           at brut.androlib.Androlib.buildResources(Androlib.java:283)
           at brut.androlib.Androlib.build(Androlib.java:206)
           at brut.androlib.Androlib.build(Androlib.java:176)
           at brut.apktool.Main.cmdBuild(Main.java:228)
           at brut.apktool.Main.main(Main.java:79)
    Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not
    exec command: [aapt, p, --min-sdk-version, 15, --target-sdk-version, 15, -F, C:
    \DOCUME~1\BR4KUS\USTAWI~1\Temp\APKTOOL703732706267177899.tmp, -0, arsc, -I, C:\D
    ocuments and Settings\BR4KUS\apktool\framework\1.apk, -S, C:\apktool\SystemUI\re
    s, -M, C:\apktool\SystemUI\AndroidManifest.xml]
           at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
    a:357)
           at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
           ... 5 more
    Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
    k-version, 15, --target-sdk-version, 15, -F, C:\DOCUME~1\BR4KUS\USTAWI~1\Temp\AP
    KTOOL703732706267177899.tmp, -0, arsc, -I, C:\Documents and Settings\BR4KUS\apkt
    ool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\Androi
    dManifest.xml]
           at brut.util.OS.exec(OS.java:89)
           at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
    a:355)
           ... 6 more
    
    C:\apktool>

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    ×