Zapomnijcie o jakichkolwiek motywach na Androidzie – Google nakłada blokadę

mm Michał Derej Android 2018-03-08

Jedną z głównych zalet Androida jest fakt, że w systemie zmienić można absolutnie wszystko, począwszy na czcionkach, a kończąc na całkowitej podmianie wyglądu oprogramowania. Niestety od pewnego czasu Google stara się uczynić Androida systemem prostszym niż dotychczas, co w konsekwencji powoduje, że wiele dostępnych poprzednio opcji przestaje być dostępnych. Kolejna porcja drastycznych zmian nadeszła wraz z testową aktualizacją Androida do wersji 9.0 – w tej odsłonie usunięta została możliwość korzystania z jakichkolwiek motywów. 

O co dokładnie chodzi?

Wraz z aktualizacją „Android P Developer Preview”, którą przetestować mogą właściciele Pixeli od Google’a, system przestał wspierać motywy niewymagające roota. Przypomnijmy – po raz pierwszy udogodnienie to wprowadzone zostało do AOSP (a to wszystko za sprawą Sony) w Androidzie Oreo – dzięki komendom ADB i aplikacji Andromeda, którą opisywaliśmy jakiś czas temu na naszej stronie, bardziej doświadczony użytkownik mógł zmienić motyw swojego urządzenia na ciemny (Google od wielu lat nie wprowadziło takiej opcji), podmienić emotikony lub ikony paska powiadomień, a także dostosować ekran blokady do swoich potrzeb. Okazuje się jednak, że twórcy naszego ulubionego systemu stwierdzili, że taka ciekawa funkcja nie jest już nam potrzebna, więc dostęp do niej w Androidzie P został zablokowany. 

Zobacz także: Jakie nowości zaprezentuje nam Android Q?

Jak podaje portal XDA-Developers, każda próba instalacji dowolnego motywu będzie kończyła się wyświetleniem następującego komunikatu:

1239 W PackageManager: Package couldn't be installed in /data/app/com.dropbox.android.SwiftDark.Android81NexusorPixel-wb7JxFaAXaHgw7WkZFCvEQ==
03-07 21:00:13.099 1179 1239 W PackageManager: com.android.server.pm.PackageManagerException: Overlay com.dropbox.android.SwiftDark.Android81NexusorPixel must be signed with the platform certificate.

Z informacji wyświetlonej w konsoli ADB wynika, że w najnowszej wersji Androida skorzystać będzie można wyłącznie z motywów, których instalacja zainicjowana została przez system. Oznacza to, że era Substratum oraz motywów, które nie wymagają roota, dobiegła końca – o ile sytuacja ta nie zmieni się w kolejnych testowych odsłonach Androida, to modyfikowanie wyglądu możliwe będzie tylko przy użyciu programów wymagających dostępu do uprawnień SuperUsera,

Jak będzie teraz wyglądała instalacja motywów?

W skrócie – nie będzie już tak prosto, jak kiedyś. Nawet użytkownicy z rootem nie będą mieli możliwości instalacji motywów, ponieważ będą one automatycznie odrzucane przez system – modyfikacja wyglądu systemu możliwa będzie wyłącznie po podmianie pliku framework.jar lub instalacji niestandardowego ROM-u. Co stanie się z użytkownikami, którzy zakupili Substratum? Aplikacja działać będzie tak jak dotychczas na Androidzie Oreo – twórcy obiecują jednak, że wystosują petycję, która zachęcić ma giganta z Mountain View do zmiany swojej decyzji na temat motywów. Niestety nie wiadomo, czy Google przystanie na taką propozycję.

Źródło: XDA-Developers



  • AnoLine

    Substratum działa tylko z rootem i jest darmowe…

    • edi194

      Substratum działa bez root’a z Andromedą (która jest płatna) na urządzeniach z Androidem 8.0+

  • maxandyaf

    Ostatecznie przekonałem się, że Google to farma idiotów… To, że system otrzymuje nazwy ciasteczek już dobitnie o tym swiadczy ale wymaganie aby nie można było zmienić wyglądu apek itp. to dowód jak szkodliwe jest jaranie trawy…Osoby z wadami wzroku lub po prostu starsze podziękują tym kretynom.

    • edi194

      Nie wiem co mają do tego osoby starsze, ponieważ raczej nie ogarniają one co to jest Substratum czy root w ogóle

      • maxandyaf

        Tak, tylko takie dzieci jak ty ogarniają co to jest root i Substratum… Osoby starsze z wiekiem widzą lepiej kontrastowe obrazy i tekst jasny na ciemnym tle. Oglądanie białego tła z szarymi literami (co ostatnio jest modne) jest po prostu bardzo męczące. Zrozumiesz to jak będziesz miał 40-50 lat. Jak będziesz miał kiedyś żonę, którą wkurwia oczojebny biały kolor podświetlenia ekranu świecący na całą sypialnię na stronach takich jak ta albo w zasr… ..nym GooglePlay, to wtedy zapytasz dlaczego Google uważa, że możesz mieć dowolny kolor tematu pod warunkiem, że będzie to kolor biały… i cieniutkie jednopikselowe jasnoszare ramki i taki też tekst. Myślę, że wasze pokolenie będzie miało takie problemy w wieku już około 30-40 lat. Zgadnij dlaczego…

        • edi194

          „dzieci jak ty”
          >chciałbym być dzieckiem

          To że z wiekiem wzrok się zmienia to chyba normalne. Mówię, że nie spotkałem się jeszcze z żadną która miałaby modyfikowane urządzenie bo coś im nie pasuje (mówię o osobach 40+) dlatego napisałem „RACZEJ NIE OGARNIAJĄ”.

          • maxandyaf

            Dla Ciebie artykuł o modyfikacji wyglądu a dla mnie o ułatwieniu korzystania z Androida… Dla mnie ciemne tło i biały tekst to ulga dla oczu bo mam 50+ i wyobraź sobie, wiem że mam inwersję kolorów w systemie ale to nie działa tak samo jak ciemny motyw. Czegoś nie rozumiesz? Chcę mieć np. w Gmail ciemny motyw, w przeglądarce Youtube i w systemie. To dużo? Z xda musiałem ściągnąc black youtuba bo oczywiście Zarządca farmy idiotow stwierdził, że muszę sobie sam pokombinować jak chcę ulżyć oczom oglądając filmiki. Kto zarzadza youtube chyba wiesz. Chrome to samo. Chcę oglądać chociaż strony z ciemnym motywem. Google mówi mi spadaj na drzewo i zainstaluj sobie np. chińskie Armorfly. O niebo zresztą lepszą przegladarkę od dziadowskiego chrome. Super, chrome już nie używam. Gmail? Nie znam alternatywy z ciemnym motywem, narazie się z tym shitem męczę ale jak tylko znajdę coś innego to zaraz się pożegnam, choćby mi dawali pierdylion darmowych GB na pocztę… itd. itp. etc. Tylko mi nie wmawiaj, że zaimplementowanie funkcji takich jak w Substratum w systemie Android jest powyżej możliwości tej zgrai drogoopłacanych niekompetentnych imbecyli zatrudnianych przez Zarządcę Farmy.

          • edi194

            Dobra, ale ‚ciemny motyw’ nie będzie działać w aplikacjach jeżeli będzie tylko zaimplementowany w systemie. Co do implementacji Substratum (bardziej OMS) w systemie, ona już jest. Korzystam na Oreo z Substratum (z rootem) i działa ono dobrze, w Androidzie P TEŻ JEST TA IMPLEMENTACJA tylko Google leci sobie w uja i blokuje możliwość instalacji zewnętrznych motywów. Do reszty nie mogę się odnieść ponieważ nie mam jeszcze tak popsutego czy wrażliwego wzroku.

          • maxandyaf

            Wiem, że ciemny motyw będzie tylko w systemie, ale utknąłem w 7-mce bez możliwości zrobienia roota i skorzystania z Substratum. Mam zainstalowany ciemny motyw systemie ale potrzebny mi był w przegladarce, gmailu i YT z których najczęściej korzystam. Poszukałem, więc alternatywnych apek, bo to durne Google miało/ma gdzieś to, że ktoś może potrzebować lub chociażby chcieć mieć ciemny motyw np. dla lepszej widoczności w pełnym Słońcu lub dla komfortu w ciemności. Dla Google jakimś niebywałym dramatem jest zrobienie natywnych wersji ich apek w ciemnych motywach na Androida. Dzisiaj też sobie chciałem zmienić na ciemny w kompie w Gmailu i…po zmianie na motywu okazało się, że wyświetlały mi się tytuły postów i zajawki maili w kolorze czarnym. Czyli czarne teksty na ciemno- szarym tle. No i kolejny dramat dla Google…O ile udało się zmienić tematy na białą czcionkę to zajawki pozostały czarne. Po prostu porażka, jakby nie można było przewidzieć, że po zmianie tematu na ciemny tekst powinien być automatycznie chociażby jasnoszary aby było cokolwiek widać. A zresztą szkoda nerwów aby komentować radosną twórczość Farmy Idiotów. Konkurencja „z palca” potrafi rozwiązać problemy, których Farma nie może latami pokonać… Co do wzroku to chyba nie trudno wyobrazić sobie , że w ciemnej sypialni uruchomienie Gmaila z białym motywem na ekranie telefonu z ustawieniem jasności na maksa na jakieś 400-500 nitów (dzienne ustawienia) może doprowadzić do chwilowej ślepoty. To nie mój wymysł tylko już stwierdzona jednostka chorobowa…

  • Kuba Sojka

    Od Sony motywy będą dalej działac aplikacji sony theme motywy

  • Kuba Sojka

    Ja cały czas instaluje nowe motywy od Sony i innych producentów ,co zmieniają tapety ,nowego wygląd ikon,aplikacje ustawienia sony itp.

  • Szamajama_Okutasi

    Na całe szczęście są motywy do nakładek producentów smartfonów. Tego na pewno nie zablokują. Ja w Samsung Themes bez problemu znalazłem fajny, ciemny motyw. 😉

  • MishastY

    Eh… Odkąd można grzebać w systemie, ludzie zmieniają coś w jego wyglądzie. Ikony kołowy. Czasem nawet layout. Goście od androita mogło by zauważyć że ludzie cenią sobie taką personalizację. Przecież Samsung, Huawei czy xaomi mają motywy i to się podoba… Kto wpadł na pomysł żeby iść pod prąd o.o?

  • edi194

    kóstom romy rzyciem

  • Tony Montana

    Co w takim razie z Samsung Themes? Czy zmiana motywu będzie dostępna w dalszym ciągu jeśli będzie wprowadzona w firmware producenta telefonu?

    • edi194

      Producenci jakoś sobie z tym poradzą

  • Filodendron

    Można by podejrzewać, że zabierają się za własny podsystem „skórowania” Androida, chociaż szczerze w to wątpię. Skoro przez tyle wersji nie potrafili zrobić chociażby dwóch odmian typu: jasna / ciemna, to taki „bajer” to zdecydowanie za dużo.
    Mi osobiście to lata i powiewa, bo akurat MD doskonale trafia w moje poczucie estetyki, ale wyczuwam ostry ból d… sporej części nastolatków z ich paskudnymi, nieczytelnymi skinami. 😉

    • Lukas

      Google zablokowało nieautoryzowane zmiany w plikach systemowych, brak wsparcia dla aplikacji, które wykorzystywały tę dziurę, to tylko wynikowa tych działań, bo na pewno inne programy (nie tylko od motywów) przestaną działać

      • Grzegorz Mrózek

        Dziura to jest w Twoim rozumowaniu. Jeśli framework dopuszczał modyfikację poprzez odpowiednie flagi i uprawnienia, to usunięcie fragmentu kodu odpowiedzialnego za te działania nie jest łataniem lecz zmianą.

        • Lukas

          Nie dopuszczał zmian bez odpowiedniego uprawnienia. Teraz w końcu pomyśleli i zabezpieczają akcje root’a poprzez certyfikat i zwykłe podpięcie się pod konto root nic nie da. To nie jest „usunięcie kodu”, tylko dopisanie jego dopisanie do jądra

          • Grzegorz Mrózek

            Z tego co ja widzę, to jednak usunęli lub wyłączyli odpowiedzialną za zmiany część kodu. A fakt że uprawnienia root’a są pod większą kontrolą systemu to dodatkowy plus. Nadal więc nie widzę sensu w wyłączaniu tego kodu dla użyszkodników. Tak jak wspominają inni: producenci prawie na pewno dostaną certyfikowany dostęp do niego, a programiści będą musieli albo wykupywać certyfikat do podpisu, albo… modyfikować customy.

          • Lukas

            Wystarczy, że producent nada swoim aplikacją odpowiednie uprawnienia i zatwierdzi to w certyfikacie. Żadne aplikacje, poza systemowymi od producenta nie powinny mieć takiej możliwości

          • Grzegorz Mrózek

            Widzę progres. Osiągamy kompromis logiczny 🙂

  • Czyli nie zapominajcie o jakichkolwiek motywach tylko o motywach zewnętrznych, kto wie może Google się za to wzięło żeby wprowadzić swój ciemny motyw

  • Ironpiter

    Ale bez sensu. Czyli robia jak w iphonach. Zero motywow. Jakis launcher by ratowal sytuacje.

    • Lukas

      Bardzo dobrze, że zaczynają w koncu robić coś z zabezpieczeniami systemu. W dzisiejszych czasach wole mieć bezpieczny telefon z zainstalowanymi aplikacjami banków, niż jakieś kolorki

      • mickey93

        przecież to nie ma związku z zabezpieczeniami systemu, poza tym dotyczy czystego androida

        • Lukas

          Zezwolenie na modyfikacje bez odpowiednich uprawnień tak głęboko w systemie na pewno jest bardzo bezpieczne 🙂
          Teraz najlepiej sprzedaje się bezpieczeństwo

          • Allshevski

            Ale skoro nawet root ci na to nie pozwala to bez sensu, rootując telefon wiesz co robisz

          • BlahFFF

            Przeciez te „kolorki” to zbieranina plikow xml z definicjami kolorow i ikon dla danych aplikacji. Tutaj nic nie modyfikujesz czy podniemiasz ani plytko ani gleboko w systemie. To rozwiazanie korzysta z wbudowanego w system rozwiazania, system pozostaje nienaruszony.

          • Lukas

            To niech tylko zmieni w hoscie zapis, ze np facebook to jest taka tylko troche inna strona z skopiowanym panelem logowania facebooka. To przeciez tylko jedna linijka tekstu wiecej 🙂
            A przeciez to wymaga tych samych uprawnien co zmiana kolorkow

          • BlahFFF

            Zmiana w pliku hosts wymaga uprawnien roota. Tematy, te ktore mozna zaaplikowac w O, np z pomoca Andromedy tego ni wymagaja. To zupenie co innego niz wczesniejsze Substratum wymagajace roota.

          • Lukas

            Nie wymagają „normalnego” roota, ponieważ skrypt, który odpalasz, żeby ta cała andromeda działa nadaje jej prawa jak od roota:
            !
            ECHO.
            PAUSE
            CLS
            SET ROOT=%~dp0
            SET SCRIPT=device_script.sh

            jeszcze jakieś pytania?

          • Grzegorz Mrózek

            „(…) nadaje jej prawa jak od roota(…)” czy nadaje prawa root’a? Bo jak dla mnie to drobna lecz zasadnicza różnica.

          • Lukas

            nadaje uprawnienie do edycji plików, a nie do podmieniania

          • Grzegorz Mrózek

            Brawo Ty. System operuje na certyfikatach i sumach kontrolnych plików, więc agresywne zmiany są mocno utrudnione. Co innego gdy masz pełny root. Tam to polka galopka może się odbywać „poza kontrolą”.

          • Lukas

            Uzyskanie roota zawszę wiąże się z większą podatnością na ataki, dlatego google wyłącza wtedy pay i to jest dobre podejście, ponieważ w większości przypadków wycieki danych są tylko i wyłącznie z naiwności/niewiedzy ludzi

          • Grzegorz Mrózek

            Nie mam problemu z blokadą root’a dla nieświadomych zagrożeń. Dla świadomych obejście root’a – samodecydowanie. Chodzi mi tylko i wyłącznie o wprowadzanie niepotrzebnego utrudniania tam, gdzie jest to zbędne. Tyle i tylko tyle. Wprowadzanie takich obostrzeń do motywów, to wylewanie dziecka z kąpielą. Lub inaczej rzecz ujmując – to dawanie małpie brzytwy. Dotychczas nie było aż takiej potrzeby na root. Teraz spora rzesza ludzi rzuci się na niezweryfikowane i niezaufane narzędzia tylko po to by zmienić czcionkę na Comic Sans… Dopiero się zacznie ból dupy…

          • BlahFFF

            Przegladales ten skrypt? Jedyne co jej nadaje to uprawnienia dzialania w tle. Chyba ze dla ciebie „SET ROOT=%~dp0” to nadanie uprawnienia administratora.

            Kurcze, ludzie walcza zeby miec dostep do roota, nabijaja knoxa, odblokowuja bootloadery a tu sie okazuje sie wystarczy bylejaki skrypt. Super.

          • Lukas

            Ktos napisal, ze to nadaje prawa do roota? To co zacytowales to jest znalezienie sciezki root, aby w niej odpalic scrypt, ktory daje mozliwosc edycji plikow w danej lokalizacji.

            Tam zadna aplikacja nie powinna grzebac…

            (Nie bede tu tlumaczyl batch)

          • BlahFFF

            To wytlumacz w takim razie o co ci chodzi bo przegladajac i .bata ktorego fragment wkleiles i device_script.sh z „instalki” Andromedy (z XDA) nie widze niczego innego jak tylko nadania uprawnien pracy w tle dla aplikacji. Gdzie i niby jak ten skrypt nadaje aplikacji prawa „jak od roota”?

          • Lukas

            Chyba zamiast przegladac skrypt, przeczytales info, ze wymagane jest do dzialania proces w tle 🙂

            A odnoszac sie do Twojego wypowiedzi, ze ludzie sie mecza nad rootem itp. to tak, jak jak producent udostepni zrodlo to wystarczy prosty skrypt i masz roota, bootloadera zablokowanego sam nie odblokujesz (chyba, ze producent da Ci taka mozliwosc) 🙂

          • BlahFFF

            Prosze, calosc, bat i skrypt odpalany na urzadzeniu. Wskasz co wg ciebie w tym skrypcie nadaje aplikacji uprawnienia „jak od roota”.


            @ECHO OFF

            ECHO Andromeda Start Script by [projekt.] development team
            ECHO.
            ECHO This requires Andromeda and Substratum installed on the device
            ECHO Make sure the device is connected and ADB option enabled
            ECHO Please only have one device connected at a time to use this!
            ECHO.
            PAUSE
            CLS
            SET ROOT=%~dp0
            SET SCRIPT=device_script.sh
            SET SCRIPT_DESTINATION=/data/local/tmp

            REM start ADB server
            adb kill-server
            adb start-server

            REM get package path
            FOR /f „delims=” %%i IN (‚adb shell pm path projekt.andromeda’) DO SET packagepath=%%i
            SET packagepath=%packagepath:~8%

            REM check if andromeda is running
            FOR /f „delims=” %%i IN (‚adb shell pidof andromeda’) DO SET pid=%%i

            ECHO Moving the the main script…
            adb push %SCRIPT% %SCRIPT_DESTINATION%

            ECHO Starting the the main script…

            IF [%pid%] == [] GOTO ADM
            (@echo.am force-stop projekt.substratum
            @echo.kill -9 %pid%
            @echo.appops set projekt.andromeda RUN_IN_BACKGROUND allow
            @echo.appops set projekt.substratum RUN_IN_BACKGROUND allow
            @echo.chmod +x %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.sh %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.rm -rf %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.exit
            ) | adb shell
            ECHO Script finished.
            PAUSE
            EXIT

            :ADM
            (@echo.am force-stop projekt.substratum
            @echo.appops set projekt.andromeda RUN_IN_BACKGROUND allow
            @echo.appops set projekt.substratum RUN_IN_BACKGROUND allow
            @echo.chmod +x %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.sh %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.rm -rf %SCRIPT_DESTINATION%/%SCRIPT%
            @echo.exit
            ) | adb shell
            ECHO Script finished.
            EXIT

            REM We’re done!
            adb kill-server

            oraz

            #!/bin/sh

            andromeda=$(pm path projekt.andromeda)

            # Let’s first grab the location where Andromeda is installed
            pkg=$andromeda

            # Due to the way the output is formatted, we have to strip 10 chars at the start
            pkg=$(echo „$pkg” | cut -d : -f 2 | sed s/\r//g)

            export CLASSPATH=$pkg
            nohup app_process /system/bin –nice-name=andromeda projekt.andromeda.Andromeda >/dev/null 2>&1 &

            „A odnoszac sie do Twojego wypowiedzi, ze ludzie sie mecza nad rootem
            itp. to tak, jak jak producent udostepni zrodlo to wystarczy prosty
            skrypt i masz roota, bootloadera zablokowanego sam nie odblokujesz
            (chyba, ze producent da Ci taka mozliwosc)” – nie, nawet jak producent udostepni zrodla to prosty skrypt nie wystarczy. Tak samo jesli chodzi o odblokowanie bootloadera, mozna czasami pominac producenta jesli znajdzie sie odpowiedni exploit.

      • drzazga3009

        Bez sensu to porównanie. Czy to jest duży problem, żeby dać odpowiednie możliwości użytkownikom którzy wymagają więcej? Oczywiście że nie, wystarczy wszystko domyślnie poblokować i udostępnić odpowiednie opcje w deweloperskich. Nie widzę możliwego sposobu ataku na aplikacje bankowe z wykorzystaniem motywów. Niech się lepiej wezmą za porządek w sklepie.

        • Lukas

          Nie ma mozliwosci, jezeli aplikacja jest tylko od motywow, ale np taka andromeda – Ci, ktorzy ja instaluja praktycznie sami daja jej uprawnienia prawie na rowni root, bo przeciez trzeba ja „aktywowac”, ale nikt nie daje kodu zrodlowego aplikacji i nikt nie wie, czy autor nie zostawil sobie backdoor’u poprzez np dodanja 2x pod soba petli ‚if – w ten sposob otwierajac sobie okienko na wrzucenie czego kolwiek pomiedzy nia – przyklad prawdziwy 🙂

          Ktos chce czarny motyw, to niech kupi sobie telefon z nakladka, ktora na to pozwala

          • Grzegorz Mrózek

            Prawie – robi ogromną różnicę. Prawie root, to IMO nie jest root. Poza tym nadanie aplikacji uprawnien PRAWIE root’a to nadal ograniczenie jej uprawnień. Wystarczy w środowisku testowym odpalić taką apkę i sprawdzić jak daleko się posunie w modyfikacji oraz co robi poza tym.

          • Lukas

            Backdoora nie robi się po to, żeby go od razu odpalić – przykład, który podałem umożliwia wpisanie swojego kodu w momencie, kiedy zostaną spełnione warunki dla pętli i dopiero od tego momentu „drzwi” zostają otwarte – a jakie to są warunki? A np wolny port 44405 na routerze. I kolejne ale – zanim ktoś odpali skrypt, to czyta co w nim jest? Nie. Większość ludzi czyta właśnie poradniki typu odpal A, zainstaluj B to będziesz miał C, a zamiast tego ktoś powinien wytłumaczyć jakie są niebezpieczeństwa, a nie tylko cytować niebezpiecznika (polecam ich szkolenia, potrafią otworzyć oczy na wiele rzeczy)