Skocz do zawartości
Marcinbar

TUTORIAL Modyfikacje telefonu[Qslide, Efekty odblokowania ekranu][13.04.2016]

    Rekomendowane odpowiedzi

    Dekompilacja, Rekompilacja, Podpisanie:

    1. Ściągamy najnowszą wersje https://drive.google.com/folderview?id=0B6-9-IIam8f-WFU5UTI2bTZVaE0#list, rozpakowujemy i uruchamiamy
    2. W dziale Installing wybieramy framework-res.apk i lge-res.apk i wciskamy install
    3. W dziale Decompiling wybieramy aplikacje do dekompilacji i wciskamy decompile
    4. Wchodzimy do folderu Decompiled_apk, modyfikujemy aplikacje
    5. W dziale Compilling wybieramy folder który modyfikowaliśmy i zaznaczamy insert AndroidManifest.xml i wciskamy compile
    6. W dziale Signing wybieramy aplikacje z folderu Compiled_apk i wciskamy sign (Krok pomijamy dla aplikacji systemowych tj. LGSystemUI.apk, framework-res.apk)
    7. Podmieniamy aplikacje w telefonie i ustawiamy uprawienia takie jakie były (zazwyczaj 644, rw-r--r--)



    Modyfikacje:
    Efekty odblokowania ekranu [Kitkat][Lollipop]

    1. Dekompilujemy LGLockScreenSettings.apk
    2. Otwieramy res\values\bools.xml
    3. Szukamy <bool name="config_feature_effect_menu">false</bool>
    4. false zmieniamy na true


     

    Wszystkie efekty odblokowania ekranu [Kitkat][Lollipop]

    1. Dekompilujemy LGLockScreenSettings.apk
    2. Otwieramy res/values/arrays.xml
    3. Szukamy

    <string-array name="effect_names">
    .......................................................
    </string-array>

    [Kitkat]

    Zmieniamy na

    <string-array name="effect_names">
    <item>@string/lockscreen_effect_basic</item>
    <item>@string/lockscreen_effect_spreadingink</item>
    <item>@string/lockscreen_effect_hula_hoops</item>
    <item>@string/lockscreen_effect_particle</item>
    <item>@string/lockscreen_effect_dewdrop</item>
    <item>@string/lockscreen_effect_crystal</item>
    <item>@string/lockscreen_effect_ripple</item>
    <item>@string/lockscreen_effect_white_hole_alias</item>
    <item>@string/lockscreen_effect_ocean</item>
    <item>@string/lockscreen_effect_vector_circle</item>
    <item>@string/lockscreen_effect_mosaic</item>
    <item>@string/lockscreen_effect_light_particle</item>
    <item>@string/lockscreen_effect_soda</item>
    </string-array>


    Analogicznie zmieniamy na

    <string-array name="effect_values">
    <item>@string/effect_index_swipe_basic</item>
    <item>@string/effect_index_swipe_spreadingink</item>
    <item>@string/effect_index_swipe_hula_hoops</item>
    <item>@string/effect_index_swipe_particle</item>
    <item>@string/effect_index_swipe_dewdrop</item>
    <item>@string/effect_index_swipe_crystal</item>
    <item>@string/effect_index_swipe_ripple</item>
    <item>@string/effect_index_swipe_white_hole</item>
    <item>@string/effect_index_swipe_ocean</item>
    <item>@string/effect_index_swipe_vector_circle</item>
    <item>@string/effect_index_swipe_mosaic</item>
    <item>@string/effect_index_swipe_light_particle</item>
    <item>@string/effect_index_swipe_soda</item>
    </string-array>


    <string-array name="secondary_effect_names">
    <item>@string/lockscreen_effect_basic</item>
    <item>@string/lockscreen_effect_spreadingink</item>
    <item>@string/lockscreen_effect_hula_hoops</item>
    <item>@string/lockscreen_effect_particle</item>
    <item>@string/lockscreen_effect_dewdrop</item>
    <item>@string/lockscreen_effect_crystal</item>
    <item>@string/lockscreen_effect_ripple</item>
    <item>@string/lockscreen_effect_white_hole_alias</item>
    <item>@string/lockscreen_effect_ocean</item>
    <item>@string/lockscreen_effect_vector_circle</item>
    <item>@string/lockscreen_effect_mosaic</item>
    <item>@string/lockscreen_effect_light_particle</item>
    <item>@string/lockscreen_effect_soda</item>
    </string-array>


    <string-array name="secondary_effect_values">
    <item>@string/effect_index_swipe_basic</item>
    <item>@string/effect_index_swipe_spreadingink</item>
    <item>@string/effect_index_swipe_hula_hoops</item>
    <item>@string/effect_index_swipe_particle</item>
    <item>@string/effect_index_swipe_dewdrop</item>
    <item>@string/effect_index_swipe_crystal</item>
    <item>@string/effect_index_swipe_ripple</item>
    <item>@string/effect_index_swipe_white_hole</item>
    <item>@string/effect_index_swipe_ocean</item>
    <item>@string/effect_index_swipe_vector_circle</item>
    <item>@string/effect_index_swipe_mosaic</item>
    <item>@string/effect_index_swipe_light_particle</item>
    <item>@string/effect_index_swipe_soda</item>
    </string-array>

    [Lollipop]

    Zmieniamy na

       <string-array name="effect_names">

            <item>@string/lockscreen_effect_basic</item>
            <item>@string/lockscreen_effect_light_particle</item>
            <item>@string/lockscreen_effect_vector_circle</item>
            <item>@string/lockscreen_effect_mosaic</item>
            <item>@string/lockscreen_effect_soda</item>
            <item>@string/lockscreen_effect_water_ripple</item>

        </string-array>


    Analogicznie zmieniamy na

    <string-array name="effect_values">

            <item>@string/effect_index_swipe_basic</item>
            <item>@string/effect_index_swipe_light_particle</item>
            <item>@string/effect_index_swipe_vector_circle</item>
            <item>@string/effect_index_swipe_mosaic</item>
            <item>@string/effect_index_swipe_soda</item>
            <item>@string/effect_index_swipe_water_ripple</item>
        </string-array>

    <string-array name="secondary_effect_names">

            <item>@string/lockscreen_effect_basic</item>
            <item>@string/lockscreen_effect_particle</item>
            <item>@string/lockscreen_effect_dewdrop</item>
            <item>@string/lockscreen_effect_crystal</item>
            <item>@string/lockscreen_effect_ripple</item>
            <item>@string/lockscreen_effect_white_hole_alias</item>

        </string-array>


    <string-array name="secondary_effect_values">

            <item>@string/effect_index_swipe_basic</item>
            <item>@string/effect_index_swipe_particle</item>
            <item>@string/effect_index_swipe_dewdrop</item>
            <item>@string/effect_index_swipe_crystal</item>
            <item>@string/effect_index_swipe_ripple</item>
            <item>@string/effect_index_swipe_white_hole</item>

        </string-array>

     

    Qslide [Kitkat][Lollipop]

    1. Dekompilujemy LGSystemUI.apk

    2. Otwieramy res\values\bools.xml
    3. Szukamy config_systemui_feature_qslide
    4. false zmieniamy na true



    Tryb wielu użytkowników [Kitkat][Lollipop]

    Do pliku build.prop dodajemy
    fw.max_users=3
    fw.show_multiuserui=1



    Dodanie nowej/ukrytej Aktywności do Ustawień [Kitkat][Lollipop]

    1. Dekompilujemy LGSettings.apk
    2. Szukam informacji o naszej Aktywności.
    a. Dekompilujemy aplikacje np LGSettings.apk
    b. Otwieramy plik AndroidManifest.xml
    c. W znaczniku <manifest> szukamy parametru package, to jest nasz android:targetPackage np. com.android.settings
    d. Szukamy znacznik <activity> (będzie ich kilka, wybieramy który nas interesuje) i szukamy w nim android:value, będzie on rozwinięciem android:targetPackage np. com.android.settings.lge.FrontTouchKey

    Dodanie nowej/ukrytej Aktywności do głównych ustawień
    1. Otwieramy res\xml\settings_header.xml
    2. Wybieramy kolejność wyświetlania aktywności analizując cały plik. Najlepiej spoglądać na parametr android:icon a ikonę znajdujemy w drawable-hdpi-v4 lub android:title gdzie nazwę znajdujemy w res\values\strings.xml (dla polski values-pl)
    3. Wklejamy np.

    <header android:icon="@drawable/nazwa_ikony" android:title="wyswietlana_nazwa">
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.lge.FrontTouchKey" />
    </header>


    a. android:icon to nasza ikona szukamy jej w drawable-hdpi-v4 lub wklejamy ja to tego folderu i zmieniamy nazwę.
    b. android:title to nazwa wyświetlana obok ikony
    4. Kompilujemy

    Dodanie nowej/ukrytej Aktywności do pod-ustawień
    1. Otwieramy np res\xml\display_settings.xml - ustwienia wyświetlacza, lub sound_settings.xml - ustawienia dźwieku itp.
    2. Wybieramy kolejność wyświetlania aktywności analizując cały plik. Najlepiej spoglądać na znacznik <PreferenceCategory> i android:title gdzie nazwę znajdujemy w res\values\strings.xml (dla polski values-pl)
    3. Wklejamy np.

    <Preference android:title="wyswietlana_nazwa" android:key="front_touch_key" android:summary="tekst_wyswietlany_pod_nazwa">
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.lge.FrontTouchKey" />
    </Preference>


    a. android:title - jest to nazwa wyświetlana obok ikony
    b. android:summary - jest to tekst wyświetlany małymi literami pod android:title (parametr opcjonalny)
    4. Kompilujemy

    Uwagi

    1. Każdy tekst lub nazwa powinna znajdować się w pliku res\values\strings.xml a tłumaczenie np dla Polski res\values-pl\strings.xml
    2. Jeśli dodajemy ukrytą aktywność przez LG często jego nazwy znajdują się w wraz z tłumaczeniami w pliku strings.xml i odwołujemy się do nich np. android:title="@string/display_home_touch_buttons"
    3. Nie usuwamy, ani nie modyfikujemy innych ustawień tylko dodajmy nowe.



    Lista ukrytych Aktywności

    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.lge.FrontTouchKey" />
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.applications.AccessLockSummary" />
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.NotificationAccessSettings" />
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.defaultapp.DefaultAppActivity" />
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.Settings$ButtonCombinationDragActivity" />
    <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.android.settings.users.KidsModeMainActivity" />
    <intent android:targetPackage="com.lge.launcher2" android:action="android.intent.action.MAIN" android:targetClass="com.lge.launcher2.theme.LGThemeChooserActivity" />


    Jeśli ktoś znajdzie jakąś aktywność niech da znać i napisze jaka wersja systemu.

     

    Opcja HDR w aparacie [Kitkat][Lollipop]

    1. Otwieramy plik camera_config.xml znajdujący się w /system/etc

    2. Znajdujemy <item name="hdr_supported">0</item>

    3. Wartość 0 zmieniamy na 2

     

    Opcja Knock ON i Tryb Cichy [Kitkat][Lollipop]

    1. Otwieramy plik setting_features.xml znajdujący się w /system/etc

    2. Znajdujemy linie z naszym modelem telefonu (nasz to e2n) <Model name="e2n" extends="default"> jeśli nie ma danej opcji szukamy w <Model name="default">

    3. Dla Knock ON wartość miedzy <knockondisplay>false</knockondisplay> zmieniamy z false na true

    3. Dla Tryb Cichy wartość miedzy  <usequietmode>false</usequietmode> zmieniamy z false na true

    a. Dekompilujemy LGSystemUI.apk

    b. Otwieramy res\values\bools.xml

    c. Wartość przy config_systemui_feature_quiet zmieniamy z false na true

     

    Widok zakładek w Ustawieniach [Kitkat][Lollipop]

    1. Szukamy i Instalujemy aplikacje LGEasySettings.apk

     

    Miniview [Kitkat][Lollipop]

    1. Szukamy i Instalujemy aplikacje OneHandController.apk

    2. Dekompilujemy LGSystemUI.apk

    3. Otwieramy res\values\bools.xml

    4. Wartość przy config_systemui_feature_one_hand_operation_miniview i config_systemui_feature_one_hand_operation_swipe_key  zmieniamy z false na true

     

    Podwójne okno - Splitwindow [Kitkat]

    Zródło: http://forum.xda-developers.com/showthread.php?t=2792938

    1. Dekompilujemy 2 pliki telephony-common.jarcom.lge.frameworks.jar znajdujący się w /system/framwork/ 

    2. Znajdujemy plik generated/ConfigBuildBase.smali

    3. Szukamy sput-boolean v0, Lgenerated/ConfigBuildBase;->CAPP_SPLITWINDOW:Z oraz sput-boolean v0, Lgenerated/ConfigBuildBase;->CAPP_SPLITWINDOW_:Z

    4. Wartość v0 zmieniamy na v1

    5. Dekompilujemy LGSystemUI.apk

    6. Otwieramy res\values\bools.xml

    7. Wartość przy config_systemui_feature_recent_dualwindow  zmieniamy z false na true

    8. Wrzucamy do telefonu:

    a. SplitWindowService.apk do /system/priv-app/

    b. com.lge.zdi.splitwindow.jar do /system/framework/

    c. com.lge.splitwindow.autosplit_rules.xml do /system/etc/

    d. com.lge.splitwindow.default_apps.xml do /system/etc/

    e. com.lge.zdi.splitwindow.xml do /system/etc/permissions/

    9. Dodajemy do build.prop 

    a. persist.splitwindow.support_all=true

    b. ro.lge.capp_splitwindow=true

     

    Wsparcie init.d [Kitkat][Lollipop]

    1. Otwieramy plik init.qcom.post_boot.sh znajdujący się w /system/etc/

    2. Na końcu pliku dopisujemy busybox run-parts /system/etc/init.d

    3. Nadajemy uprawnienia 644 (rw-r--r--)

    4. Tworzymy folder init.d /system/etc z uprawnieniami 777 (rwxrwxrwx)

    Do poprawnego działania wymagany busybox

     

     

     

    Roboczy:

    Equalizer w LGMusic [Kitkat][Lollipop]

    1. Otwieramy plik com.lge.music.xml znajdujący się w /system/etc/ lub tworzymy nowy

    2. Zmieniamy lub dodajemy linie <audio_effect data="true" /> dla odblokowania funkcji w ustawieniach

    3. Zmieniamy lub dodajemy linie <eq_through_speaker data="true" /> dla odblokowania funkcji  w ustawieniach dla głośnika

    4. Zmieniamy lub dodajemy linie <audio_effect data="dolby" /> dla dolby eq

    5. Zmieniamy lub dodajemy linie <id3tag_editor data="true" /> ​dla ID3TAG

    Przykładowy plik: http://www5.zippyshare.com/v/mrGmCdFf/file.html

     
    Edytowane przez Marcinbar
    • Lubię to! 2

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    co to dokładnie jest ten qslide? Da rade podmienic przez np root explrera czy trzeba przez sh?

     

    EDIT:
    ok wgrałęm przez sh ale nie pojawiło się nic na pasku zadań...Jak to włączyć?

    Edytowane przez Zulwiczek

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Można podmienić przez menadżer plików ale może być tak ze aplikacja bedzie wyswietlala blad i może byc problem ze zmiama uprawnien. W panelu powiadomien powinna pojawić się ikona jak jej nie ma to trzeba wziac edytuj i ja aktywowac. Przed poleceniem sh trzeba jeszcze wpisac su. Zapomniałem napisać że plik jest pod lollipopa i nie wiem jak się zachowa na kitkacie.

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

    Edytowane przez Marcinbar

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

     Myślałem że to co wrzuciłeś jest już z włączoną opcją. A posiadam Lollipopa więc pasuje, wziąłem edytuj ale nie pojawiła się zadna nowa opcja dodania

    Edytowane przez Zulwiczek

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    No bo tak miało być. Będę musiał to sprawdzić.

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

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Podczas kompilacji lgsystemui.apk i zmianie ustawien qslide mam ten error. Oczywiscie mam zainstalowane lge-res.apk i framework -res.apk  w multitoolu.

    post-238742-0-99225400-1454752888_thumb.png

    Edytowane przez Araa
    Dodaje spoiler, proszę pamiętać, grafikę i filmy umieszczamy w tagach spoiler.

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    To jest tylko ostrzeżenie. Jeśli aplikacja dobrze się skompilowala to plik bedzie znajdował w folderze w innym przypadku go nie będzie.

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

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ja nie mogę zainstalować lge-res.apk i framework -res.apk, pojawia mi się coś takiego: 

    4uk0yHQ.jpg

     

    Jestem laikiem w tych sprawach. Czy coś trzeba robić z tym AndroidMultitool-batch czy to po prostu stara wersja tego programu?

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Upewnij się że żadna nazwa folderu prowadząca do pliku nie ma spacji

    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ę

    • Ostatnio przeglądający   0 użytkowników

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

    x