Jak sprawdzić, jakich ukrytych aplikacji API używają w systemie Android P

Android P ogranicza aplikacjom dostęp do ukrytych interfejsów API i interfejsów innych niż SDK. Korzystając z Logcat, łatwo sprawdzić, jakich interfejsów API innych niż SDK używają aplikacje w nowej wersji Androida.

Pod koniec lutego zauważyliśmy sugerujące to zmiany w otwartym kodzie źródłowym Androida Google ograniczy aplikacjom dostęp do nieudokumentowanych/ukrytych interfejsów API w zestawie programistycznym dla systemu Android (SDK). Gigant wyszukiwania potwierdził później te zmiany; W Android P, ograniczenia API zostały rozszerzone, aby objąć interfejsy języka Java pakietu SDK, zaczynając od rzadko używanych interfejsów, a ostatecznie rozszerzając się na inne metody i pola inne niż SDK. Pierwsza wersja zapoznawcza Androida P Developer Preview wyświetla ostrzeżenia, gdy aplikacje korzystają z interfejsów innych niż SDK, ale nie jest oczywiste, do jakich ukrytych interfejsów API uzyskuje się dostęp. Na szczęście Logcat ułatwia to.

Logcat, narzędzie wiersza poleceń Android Debug Bridge (

ADB), który zrzuca bieżący dziennik komunikatów systemowych Androida, można wykorzystać do sprawdzenia, jakich ukrytych interfejsów API używają aplikacje w systemie Android P. Jako starszy członek XDA Telperion wykryte, filtrowanie Logcat za pomocą ciągu „Dostęp ukryty” ujawnia listę wewnętrznych metod i usług, do których ostatnio korzystały uruchomione aplikacje.

Jeden z najłatwiejszych sposobów skonfiguruj Logcata polega na pobraniu pliku binarnego ADB z Google dla systemu operacyjnego Twojego komputera, zainstalowaniu odpowiednich sterowników USB dla Twojego telefonu i włączeniu debugowanie USB w Androidach Opcje programistyczne menu. (Telefony Huawei domyślnie wyłączają Logcat; aby go uruchomić, otwórz aplikację dialera i wprowadź kod *#*#2846579#*#*, wybierać Ustawienia tłai zaznacz każde ustawienie w oknie dialogowym.) Zalecamy użycie Matlog, łatwa w użyciu aplikacja o niskim nakładzie finansowym autorstwa młodszego członka XDA plus pokrojone w kostkę. Można go skompilować ze źródła lub pobrać ze sklepu Google Play.

[appbox googleplay com.pluscubed.matlog]

Aby dodać filtr, dotknij menu z trzema kropkami w prawym górnym rogu Matloga i wybierz Filtryi dotknij Dodaj filtr. Następnie wpisz „Dostęp ukryty” (bez cudzysłowów) i wybierz OK.

Chociaż większość aplikacji uzyskuje dostęp do ukrytych interfejsów API stosunkowo nieszkodliwie, decyzja Google o ograniczeniu dostępu do interfejsów innych niż SDK interfejsów w systemie Android P ma na celu zapobieganie nadużyciom interfejsów API, które mogłyby zagrozić prywatności użytkowników i bezpieczeństwo. Badanie badacze z Uniwersytetu w Luksemburgu odkryli, że wiele złośliwych aplikacji korzystało z prywatnych metod wewnętrznego interfejsu API w celu wstrzykiwania kodu reklamowego do dowolnej aplikacji, w tym usług systemowych.

Jest to również część szerzej zakrojonych wysiłków Google mających na celu rozprawienie się z nieuczciwymi aplikacjami na Androida. Android P ogranicza dostęp aplikacji działających w tle do urządzenia kamery I mikrofony, a Google wcześniej groził usuń aplikacje ze Sklepu Google Play, które niewłaściwie korzystają z interfejsów API ułatwień dostępu Androida— usługi zaprojektowane, aby ułatwić korzystanie z aplikacji na Androida osobom z pewnymi niepełnosprawnościami — w sposób niezgodny z oficjalnymi wytycznymi.