Czy można zainstalować aplikację i wykluczyć niektóre z wymaganych uprawnień?

88

Czasami chcę zainstalować aplikację, która wymaga pewnych uprawnień, które moim zdaniem nie powinny jej potrzebować. Czy mogę zainstalować aplikację bez tych uprawnień? Na przykład lokalizacja GPS, stan telefonu , połączenie internetowe itp.

Czy można zmienić uprawnienia aplikacji po jej zainstalowaniu?

Louis Rhys
źródło
Oto powiązane pytanie, na które warto zwrócić uwagę: android.stackexchange.com/questions/3294
Matt
kolejne powiązane pytanie stackoverflow.com/questions/1836155/…
ccpizza

Odpowiedzi:

30

Przed Androidem 4.3 (Jelly Bean)

Nie. Bez niestandardowej pamięci ROM jest to sprawa „wszystko albo nic”. Jest to jeden z powodów, dla których Google zachęca programistów do upewnienia się, że proszą o absolutne minimalne uprawnienia wymagane do działania aplikacji.

Po uzyskaniu kodu aplikacji i zmodyfikowaniu go musisz zaakceptować żądanie dostępu lub nie korzystać z aplikacji. Istnieją pewne alternatywy, jeśli urządzenie jest zrootowane.

Android 4.3 / 4.4 (częściowo także 5.x)

Istnieje częściowo ukryty menedżer uprawnień (App Ops), do którego można uzyskać dostęp za pośrednictwem aplikacji innej firmy , ale nie wymaga rootowania ani niestandardowej pamięci ROM. Android Police opisał to tutaj .

Pamiętaj jednak, że Google powiedział, że zostało to wydane przez pomyłkę, a nowsze wersje Androida ponownie to wyłączyły.

Android 4.4+

Oprócz wyżej wymienionych aplikacji operacyjnych , tutaj możesz także korzystać z Xposed Framework (dla Androida 5+ patrz tutaj ) z modułami takimi jak Xprivacy lub Chroń moją prywatność . Będzie to wymagało zrootowania urządzenia, ale oferuje dodatkowe funkcje.

Android 6+

marcioggs przedstawił funkcje dostarczone w Androidzie M w osobnej odpowiedzi.

ale
źródło
3
Jeśli rootujesz, możesz wykluczyć dostęp do sieci za pomocą DroidWall, ale jest to szczególny wyjątek.
DRZEWO
8
Niestety, Google zdecydowało się zgrupować rzeczy, które są potrzebne wielu aplikacjom rozrywkowym, takie jak ustalenie, czy połączenie jest aktywne, na podstawie tego samego pozwolenia, co rzeczy, których potrzebuje bardzo niewiele aplikacji niefunkcjonalnych, na przykład określenie numeru telefonu.
Chris Stratton
17

CyanogenMod 7 obsługuje to. Aktywowano go, przechodząc do Settings->CyanogenMod Settings->Applications„Zarządzanie uprawnieniami” i zaznaczając najnowszą kompilację. Następnie możesz zezwolić i zabronić uprawnień, wybierając aplikację z listy zarządzania aplikacjami ( Settings->Applications->Manage applications). Jest artykuł na temat endgagetu z demonstracją na Youtube.

Uwaga: dla niektórych może to być oczywiste, ale odmowa dostępu do aplikacji może mieć dość katastrofalne konsekwencje. Niemniej jednak, jeśli masz urządzenie obsługiwane przez CM, a chcesz je zrootować i zainstalować, możesz cieszyć się kontrolą uprawnień po zezwoleniu (i wszelkimi związanymi z tym zagrożeniami).

W rzeczywistości z powodu awarii, które zwykle powodowało wdrożenie zarządzania uprawnieniami, został on usunięty z bazy kodowej CyanogenMod w wersji 9. Jednak najnowsze wersje nocne CyanogenMod 10.1 zawierają teraz funkcję, która została nazwana „ Privacy Guard ”. Zamiast blokować aplikacjom dostęp do żądanych danych, Privacy Guard zapewni im puste dane.

Na przykład, jeśli aplikacja działająca w programie Privacy Guard zażąda Twojej listy kontaktów, CM po prostu zwróci pustą listę, powodując funkcjonalne przekonanie aplikacji, że nie masz żadnych kontaktów zapisanych w telefonie.

eldarerathis
źródło
1
Niestety fałszywe dane nie są brane pod uwagę przy integracji z CyanogenMod.
Denis Nikolaenko
8

Istnieje aplikacja App Shield . Zasadniczo ponownie pakuje .apk z uprawnieniami usuniętymi z manifestu . Genialny pomysł na magazyn, niezrootowane telefony. Podlega awariom (siła zamyka się), jak w przypadku CyanogenMod (od wersji 7).


Aktualizacja: Wygląda na to, że Tarcza aplikacji nie jest już utrzymywana. Obecnie można go znaleźć w niektórych „osobistych repozytoriach Aptoide”, np. W Mixal i Karbyfio . Zaleca się raczej używanie teraz czegoś bardziej aktualnego.

Denis Nikolaenko
źródło
7

UWAGA: LBE Privacy Guard nie jest już utrzymywany i jest dostępny tylko dla wersji Androida poniżej 4.2.

Ostrzeżenie: jeśli korzystasz z Jelly Bean (Android 4.1+), sprawdź, czy LBE zostało zaktualizowane dla Jelley Bean. W tej chwili (27 lipca 2012 r.) Jest nadal niekompatybilny i spowoduje, że urządzenie uruchomi się w pętli na Jelly Bean. Oznacza to, że może być konieczne przywrócenie ustawień fabrycznych urządzenia. Zamiast tego zaleca się Xprivacy (wymagany root).


LBE Privacy Guard może blokować określone uprawnienia dla aplikacji, zarówno podczas instalacji, jak i później. To jest angielska wersja podobno chińskiej aplikacji, która istnieje od jakiegoś czasu (nie jestem w żaden sposób z nimi powiązana); ma już ponad 100 000 pobrań. Jeszcze tego nie próbowałem, ale planuję to zrobić jutro.

Możesz także ustawić, aby na przykład Facebook wyświetlał monit (tak / nie), gdy chce uzyskać dostęp do Twojej lokalizacji itp. Zrzut ekranu ze Sklepu Play:

wprowadź opis zdjęcia tutaj

Cerberus
źródło
Jest to, moim zdaniem, najlepsza aplikacja do zarządzania uprawnieniami - używam jej od dłuższego czasu i jest doskonała.
Logos
@ Logos: Używam go od kilku godzin i zgadzam się!
Cerberus,
Nie działa na Xperia ray z CM 10.0. Musiałem tylko ponownie zainstalować urządzenie!
rubo77
@ rubo77: Ojej, to do bani! (Czy czytałeś moje ostrzeżenie na górze?)
Cerberus,
Tak, ale pomyślałem, że może mi się to uda;) Należy dodać, że nie ma sposobu na odzyskanie bootloopa i że nie działa on na wielu urządzeniach. patrząc na opinie w sklepie Play, dokładnie połowa głosów to 5, a połowa to 1, więc chyba co drugie urządzenie zawiedzie
rubo77,
3

Możesz użyć Xposed Framework wraz z modułem ustawień aplikacji, aby odmówić uprawnień aplikacji. Możesz go również użyć do zmiany ustawień DPI, umożliwiając aplikacjom działanie w trybie tabletu na telefonie i odwrotnie (wraz ze zmianą wielkości rzeczy w ogóle). Działa mi pięknie. Będziesz jednak potrzebował roota, aby go zainstalować.

Dzięki Izzy za zwrócenie uwagi na potrzebę modułu. Zgodnie z ich komentarzem możesz również użyć Xprivacy lub Chroń moją prywatność, aby uzyskać tę kontrolę.

Paarth
źródło
W momencie pisania tej odpowiedzi moduł ustawień aplikacji był dostarczany w pakiecie z większością instalacji systemu Xposed. Ten moduł obsługuje tę funkcjonalność.
Paarth
1
Dziękujemy za opiekę nad „starymi odpowiedziami” - +1 za to :) Więc oczyścimy (skasujemy) nasze komentarze :) PS: Proszę zostawić swój pierwszy, to ma sens :)
Izzy
0

Natknąłem się na tę aplikację o nazwie Permission Remover , który pozwala usunąć uprawnienia z pakietu APK przed zainstalowaniem. Pracował zarówno dla zainstalowanych, jak i pobranych plików APK. Ta metoda jest wygodna, ponieważ nie wymaga rootowania urządzenia.

DaSpider
źródło
0

Dobra aplikacja (która nie jest już dostępna w playstore od 2016 roku) przez narzędzie do odinstalowywania rootów : Aby wycofać aplikację, która ma prawo dostępu do Internetu w CyanogenMod, możesz użyć Root Firewall (wymaga rootowania).

Może blokować dostęp do Internetu dla dowolnych aplikacji.

Darmowa wersja może już blokować wszystkie aplikacje lub po prostu blokować do 7 różnych aplikacji.

rubo77
źródło
0

Precyzyjne uprawnienia aplikacji nie są dostępne w standardowych wersjach Androida do wersji 5.1.1. Google wprowadziło nowy model uprawnień, zaczynając od wersji 6.0, który obejmuje pewną kontrolę opartą na grupach uprawnień. Jeśli jednak uzyskałeś dostęp do konta root na urządzeniu z wersją 5.1.1 lub niższą, istnieją opcje dodania tej funkcji do urządzenia.

  1. Xposed Framework

Udaj się na stronę xda-developers.com i wyszukaj „xposed framework”, aby uzyskać informacje na temat instalacji frameworka. Po zainstalowaniu środowiska zainstaluj moduły XPrivacy lub App Settings , aby uzyskać większą kontrolę nad każdą aplikacją i nadanymi jej uprawnieniami.

  1. Zainstaluj ROM oparty na Cyanogenmod

Przejdź do strony Pobieranie Cyanogenmod i sprawdź, czy Twoje urządzenie znajduje się na liście. Jeśli tak nie jest, wróć na stronę xda-developers.com i przejdź do strony forum urządzeń, aby znaleźć listę ROM dla twojego urządzenia. Poszukaj czegokolwiek odnoszącego się do „cyanogenmod” lub „cm” w oryginalnym poście wątku ROM, aby znaleźć odpowiednią bazę, aby dać dostęp do kontroli uprawnień.

Mam nadzieję że to pomoże.

delta fali cząsteczkowej
źródło