Pewnie nie raz zdarzyło Wam się, że regulując głośność w smartfonie lub tablecie z Androidem głośność ta nie przechodzi zmiany płynnie, ale skokami. Czasami przeszkadza to, bo trudno dobrać taką, która by nam odpowiadała.
Pokażę, więc jak można głośność zmienić samemu tzn. jak uzyskać
efekt płynnej głośności.
Musimy edytować jeden plik, który znajduje się w katalogu
system/framework a plik nazywa się
framework.jar.
Plik framework.jar skompresowany jest archiwizerem, możemy użyć do wyodrębnienia np. aplikacji Total Commander tym managerem wydzielimy jak i dodamy plik, który będziemy edytować. Polecam to rozwiązanie.
Potrzebny jest też jakiś dekompilator plików
.dex możemy użyć tego narzędzia
edytor plików systemu Android .dex
ale uwaga na Windowsie
musi być zainstalowana Java (wirtualna machina), aby to narzędzie działało.
A więc pobieramy z Androida plik framework.jar, wypakowujemy lub wyciągamy pliczek
classes.dex, który następnie musimy zdekompilować, aby taki plik móc edytować. Możemy posłużyć się przykładem z powyższego linku, który opisuje edycję plików systemowych w Androidzie. Tak, więc w tym miejscu nie będę tego dokładnie opisywał. Każdy znajdzie coś swojego do rozkładania i składania takich plików.
Cytat:Kiedy mamy rozebrany plik .dex na części wchodzimy do katalogu jak na zrzucie i szukamy pliku AudioService.smali taki plik edytujemy najlepiej Notepad++
![[Obrazek: v0k.JPG]](http://imageshack.us/a/img38/9885/v0k.JPG)
Cytat:Następnie wyszukujemy pozycję max_
![[Obrazek: vxm9.jpg]](http://imageshack.us/a/img43/6396/vxm9.jpg)
Cytat:Szukamy dalej pozycji jak na poniższym zrzucie, gdzie będziemy mieli tablicę array w moim przypadku jest to 1ea
![[Obrazek: nff2.jpg]](http://imageshack.us/a/img203/5939/nff2.jpg)
Cytat:A więc wyszukujemy teraz array_1ea (mój przypadek, Twój będzie inny)
![[Obrazek: dgu.JPG]](http://imageshack.us/a/img198/1200/dgu.JPG)
Cytat:Mamy na 4 pozycji w kodzie 0xft należy użyć, więc kalkulatora z opcją programisty wpisać wartość np. 30, wybrać HEX i np. wartość 30 zamienić na HEX otrzymamy 1E
![[Obrazek: n0bt.jpg]](http://imageshack.us/a/img221/6065/n0bt.jpg)
Cytat:W kodzie usuwamy f i dodajemy naszą zamienioną wartość 1e
![[Obrazek: cdro.jpg]](http://imageshack.us/a/img35/4145/cdro.jpg)
OK teraz zapisujemy taki plik ze zmianami, zamieniamy w edytowanej paczce i kompilujemy, jeśli używamy sposobu z podanego linku to wg opisywanego tam schematu po wybraniu opcji 2 otrzymamy gotowy plik .dex. Po otrzymaniu pliku .dex dorzucamy go do paczki
framework.jar zastępując oryginalny tym edytowanym, a następnie zamieniamy na tablecie/smartfonie naszą bibliotekę na tę zmodyfikowaną. Od tej pory będziemy mieli większy płynniejszy zakres regulacji na Androidzie.
Uwaga wszystkie operacje wykonujesz na własne ryzyko. Ja pierwszy raz pomyliłem wartość i wpisałem nie tam gdzie trzeba i zablokowałem system Android. Nieumiejętne edytowanie plików może unieruchomić system wtedy opcją rozwiązującą problem może być wgrywanie ROM-u na nowo.
Do działań modyfikacji potrzebne są prawa administratora.