Cum Android Q îmbunătățește confidențialitatea și controlul permisiunilor asupra Android Pie

Android Q va aduce o reorganizare a gestionării permisiunilor și îmbunătățiri pentru a proteja confidențialitatea utilizatorilor. Iată ce s-a schimbat Google de la Android Pie.

Pătrunderea pe piață a Android 9 Pie este abia de a blip pe radar comparativ cu versiunile mai vechi de Android, dar asta nu va întârzia planurile Google de a lansa următoarea versiune de Android, Android Q. Ne așteptăm ca Google să dezvăluie prima Previzualizare pentru dezvoltatori a Android Q cândva luna viitoare, dar înainte de Google anunț că am reușit să punem mâna pe o versiune Android Q care este probabil destul de departe în dezvoltarea Google ciclu. În primul nostru articol care detaliază modificările care vor veni la următoarea lansare a desertului, am vorbit despre noua interfață de control al permisiunilor. Cu toate acestea, am arătat doar câteva capturi de ecran ale sistemului de gestionare a permisiunilor reînnoit, așa că am vrut să urmăresc cu mai multe detalii. De asemenea, am făcut mai multe teste și am adunat mai multe informații despre noile permisiuni în Android Q, caracteristica „roluri”, noul program de instalare a pachetelor și multe altele. Dar mai întâi, iată o scurtă recapitulare a gestionării permisiunilor în Android.

O scurtă istorie a gestionării permisiunilor în Android

Android 4.3 Jelly Bean introdus pentru prima dată gestionarea granulară a permisiunilor prin funcția „App Ops”, deși a fost ascunsă de utilizator. Android 4.4 KitKat a introdus chiar noi permisiuni controlabile de utilizator în interfața App Ops, deși tu avea nevoie de acces root și un modul Xposed pentru a-l accesa. În cele din urmă, Android 6.0 Marshmallow a introdus sistemul de permisiuni cu care suntem familiarizați cu toții, deși cu limitări privind permisiunile pe care le puteți restricționa. Funcția mai veche App Ops încă există în Android, deși poate fi accesată doar prin linia de comandă (cmd appops). Anumite aplicații pe Google Play Store, profitați de implementarea liniei de comandă a App Ops pentru a oferi o interfață mai puternică de gestionare a permisiunilor. Google nu expune aplicațiile pentru utilizatori, deoarece este posibil ca utilizatorul să nu știe ce fac, ceea ce duce la refuzul unei aplicații a unor permisiuni de care ar putea avea nevoie într-adevăr pentru a funcționa corect. Din păcate, de la introducerea gestionării permisiunilor în Android Marshmallow, nu am văzut nicio modificare majoră a funcției, adică până la Android Q.

Ops aplicația în Android 4.3 Jelly Bean

Android 6.0 Marshmallow a înregistrat, de asemenea, o schimbare majoră în modul în care anumite permisiuni sunt acordate aplicațiilor. Înainte de Android 6.0, toate permisiunile definite într-o fișierul manifest al aplicației sunt acordate la instalare. Cu Android 6.0, Google a introdus managementul permisiunilor de rulare pentru anumite permisiuni pe care le-au considerat periculoase, cum ar fi accesul la stocarea externă, accesul la cameră, accesul la locație și multe altele. Permisiunile de rulare sunt acordate numai după instalarea unei aplicații, iar utilizatorul trebuie să își dea acordul explicit pentru acordarea acestor permisiuni atingând „permite” într-o casetă de dialog pentru permisiuni atunci când este solicitat. Până la Google dărâmat în aplicațiile care vizează un nivel mai vechi de API, dezvoltatorii de aplicații ar putea ocoli permisiunile de rulare ținzând nivelul API 22 sau mai mic (Android Lollipop sau mai vechi.) Android Q va avertiza utilizatorii încercarea de a rula o aplicație care vizează nivelul API 22 sau mai jos, stimulând în continuare dezvoltatorii să-și actualizeze aplicațiile pentru a nu fi derușiți de sistemul de operare. Astfel, până când Android Q ajunge pe dispozitive, aproape fiecare aplicație de pe dispozitivul unui utilizator ar trebui să fie supusă controalelor de gestionare a permisiunilor introduse în Android 6.0+. Având în vedere acest lucru, Google curăță comenzile de permisiuni din Android Q pentru a facilita utilizatorilor să gestioneze ce nivel de acces au aplicațiile pe dispozitivul lor.

Gestionare mai ușoară a permisiunilor în Android Q față de Android Pie

De la Android 6.0 Marshmallow la Android 9 Pie, gestionarea permiselor de rulare existentă permite utilizatorului doar să permită sau să refuze anumite permisiuni unei aplicații. Am observat în articolul nostru anterior că Android Q va permite utilizatorului să restricționeze o permisiune numai în timp ce aplicația este în uz. Această funcție a încântat mulți oameni, dar trebuie să clarificăm asta numai permisiunea de locație poate fi restricționată atunci când o aplicație este în uz. Aceasta înseamnă că nu puteți restricționa microfonul sau camera doar în timp ce aplicația este în uz. Totuși, nu ar trebui să fii dezamăgit de asta, deoarece Android Pie deja introdus unele restricții privind utilizarea în fundal a aparat foto și microfon solicitând ca aplicațiile să fie în prim-plan sau să utilizeze un serviciu din prim-plan. În plus, Android Q extinde acest lucru prin dezvăluirea utilizatorului ori de câte ori orice aplicație folosește microfonul, camera sau accesează locația dispozitivului. Acesta este afișat utilizatorului ca pictograme din bara de stare în colțul din dreapta sus. Când bara de stare este extinsă, textul afișat lângă pictograme îi spune utilizatorului care aplicație utilizează în prezent una dintre aceste 3 permisiuni sensibile. În cele din urmă, dacă utilizatorul atinge această pictogramă, se afișează un dialog care îi spune utilizatorului care aplicație (aplicațiile) utilizează ce permisiune (permisiune). Din nou, acest lucru se aplică numai permisiunilor pentru cameră, locație și microfon.

Google pare să încurajeze utilizatorii să restricționeze accesul la locație numai atunci când o aplicație este în uz, deoarece s-au copt într-un memento în Android Q când utilizatorul a permis unei aplicații să-și acceseze întotdeauna locația. Acest memento vine sub forma unei notificări care îi spune utilizatorului că o aplicație a folosit locația sa și că are întotdeauna capacitatea de a face acest lucru. Atingerea notificării vă duce la pagina de permisiuni de locație pentru acea aplicație, permițând utilizatorului să aleagă să restricționeze permisiunea de locație numai în timp ce aplicația respectivă este în uz. Felicitari pentru asta, Google.

În cele din urmă, în versiunea pe care o am, interfața de utilizare pentru permisiunile speciale de acces la aplicații (cum ar fi optimizarea bateriei, administratorul dispozitivului, accesul Nu deranjați, accesul la notificări etc.) este neschimbată. Cu toate acestea, o nouă permisiune specială „Acces prin SMS la aplicații financiare” a fost adăugată la listă, deși nu sunt sigur cum diferă de permisiunea „Acces SMS premium”, care este de ce au nevoie aplicațiile pentru a trimite mesaje text către premium numere. Este posibil ca această nouă permisiune să fie destinată aplicațiilor bancare care utilizează SMS-uri pentru anumite tranzacții, în conformitate cu Noile politici Google Play restricționarea permisiunilor pentru SMS și jurnalul de apeluri.

Gestionarea permisiunilor în Android Q

Iată o galerie de capturi de ecran care arată noile modificări ale interfeței de gestionare a permisiunilor din Android Q. Am inclus descrieri detaliate ale fiecărei pagini în legendele fiecărei imagini.

Acordarea permisiunilor în Android Q

Iată capturi de ecran care arată gestionarea permisiunilor de rulare în Android Q. Am vorbit deja despre ceea ce arată primele două capturi de ecran, dar a treia captură de ecran este o caracteristică Android Q complet nouă, despre care nu am discutat înainte. Capacitatea pentru Android de a permite utilizatorului să controleze permisiunile înainte de a rula o aplicație veche (definită ca o aplicație care vizează un nivel API < 23) este ceva ce este deja posibil în Android Pie cu configurația corectă, dar Google a inversat în sfârșit comutatorul și l-a activat în Android Q.

Monitorizarea în timp real a permisiunilor în Android Q

Iată capturi de ecran care arată cum Android Q va alerta utilizatorul atunci când o aplicație accesează una dintre mai multe permisiuni sensibile/periculoase, inclusiv camera, locația și microfonul.

Noi restricții privind accesul la Clipboard, accesul la fișiere externe

Restricții de acces la Clipboard de fundal

În articolul meu anterior, am notat o nouă permisiune în cadrul Android Q care sugera că aplicațiile non-sistem care rulează în fundal nu vor mai putea citi clipboard-ul sistemului. După ce am pus în funcțiune Magazinul Google Play, am decis să instalez câteva aplicații populare de gestionare a clipboard-ului, cum ar fi Manager clipboard, Maşină de tuns, și Clip Stack să testez dacă am avut dreptate. La bine sau la rău, Google blochează accesul la clipboard în fundal în Android Q, așa cum Niciuna dintre aplicațiile pe care le-am testat nu a putut detecta niciun text pe care l-am copiat în clipboard. Am confirmat chiar că aceste aplicații au „READ_CLIPBOARD" permisiunea pe care au solicitat-o ​​folosind următoarea comandă App Ops:

adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow

Din fericire, copierea și lipirea textului în și din orice aplicație încă funcționează, dar aplicațiile care rulează în fundal nu mai pot citi textul care este copiat. Este prea devreme să spunem dacă această modificare va distruge aplicațiile de gestionare a clipboard-ului, deoarece există posibilitatea ca Google să introducă un nou API pentru a face din aplicație un handler implicit de „manager clipboard”. Cu toate acestea, nu văd nicio dovadă că acest lucru se întâmplă în Android Q.

Acces la fișiere de stocare externă

Am acoperit aproape totul despre această schimbare în articolul meu anterior, dar iată un rezumat a ceea ce schimbă Google în Android Q în ceea ce privește accesul la fișierele de stocare externă. În primul rând, trebuie să definim ce înseamnă „stocare externă”. În Android, stocarea externă este locația în care sunt stocate toate fișierele și folderele pe care le puteți vedea atunci când conectați telefonul la un computer, cum ar fi Descărcări, DCIM, Muzică, Filme și Imagini. Aplicațiile ar trebui să stocheze numai fișiere în stocare externă pe care alte aplicații ar putea dori să le acceseze, cum ar fi muzică, imagini, videoclipuri, documente etc.

Pentru ca o aplicație să acceseze fișierele de pe stocarea externă, aplicația trebuie să dețină READ_EXTERNAL_STORAGE și/sau WRITE_EXTERNAL_STORAGE permisiuni, care sunt ambele permisiuni de rulare. Odată ce o aplicație are aceste permisiuni, nu există restricții cu privire la fișierele de pe stocarea externă pe care le poate citi sau modifica. În Android Q, Google descompune aceste două permisiuni în permisiuni mai granulare, permițând utilizatorului să restricționeze o aplicație, astfel încât să poată citi sau scrie doar anumite tipuri de fișiere. Mai exact, noile permisiuni din Android Q vor permite utilizatorului să restricționeze o aplicație, astfel încât să poată doar:

  • Citiți locațiile din media dvs.
  • Citiți sau scrieți fișiere muzicale.
  • Citiți sau scrieți fotografii/fișiere imagine.
  • Citiți sau scrieți fișiere video.

O aplicație căreia i s-a acordat deja permisiunea READ_EXTERNAL_STORAGE înainte ca utilizatorul să facă upgrade la Android Q va primi automat permisiunile de „citire” enumerate mai sus, dar nu și cele de „scriere” permisiuni.

Acces la locație de fundal

Anul trecut, un raport de la The New York Times a aruncat o lumină asupra caracterului omniprezent al aplicațiilor care urmăresc locațiile utilizatorilor pentru a le vinde agenților de publicitate. Urmărirea incorectă a locației este o problemă de care Google o cunoaște bine, care a fost acuzați ei înșiși de asta. A fost introdus Android 8.0 Oreo restricții despre cât de des pot accesa aplicațiile care rulează în fundal locația unui dispozitiv. Solicitările de locație de la aplicațiile care rulează în fundal sunt puternic accelerate, așa că dacă o aplicație dorește să vă urmărească locația cu orice grad de precizie, trebuie să dezvăluie că face acest lucru cu o activitate vizibilă sau un serviciu în prim-plan și un notificare.

Cu toate acestea, de fiecare dată când Google schimbă modul în care funcționează API-urile Android de bază, dezvoltatorii ale căror aplicații au folosit în mod legitim acele API-uri așa cum a fost prevăzut sunt afectați. Am văzut această evoluție recent cu restricțiile Google Play privind permisiunile pentru SMS și jurnalul de apeluri, rezultând multe aplicațiile populare își pierd funcționalitatea cheie. Aceeași situație s-a întâmplat atunci când Google a limitat accesul la locație în fundal, cu utilizatorii unui popular aplicație de golfplângându-se că nu-l mai puteau folosi pentru a-și urmări loviturile. Din fericire, Android Q adaugă un nou „ACCESS_BACKGROUND_LOCATION„permisiune care, atunci când este acordată, permite întotdeauna unei aplicații să aibă acces la locația unui dispozitiv, chiar și atunci când aplicația rulează în fundal. Astfel, noua versiune de Android nu numai că va continua să protejeze utilizatorii de accesul nedorit la locație în fundal, ci va oferi și un mecanism pentru ca utilizatorii să permită aplicații. la alegerea lor pentru a le monitoriza locația în fundal.

Adăugarea „rolurilor” în Android Q

La Daniel video hands-on pentru noi Canalul YouTube XDA TV, poate l-ați auzit menționând o nouă secțiune „Roluri” în setările aplicațiilor implicite (Setări --> Aplicații și notificări --> Aplicații implicite). Singurele „roluri” care au fost afișate în videoclip au fost pentru Browser, Telefon și Mesaje, care păreau redundante, deoarece există deja categorii de aplicații implicite pentru browser, aplicații pentru telefon și aplicații SMS. După ce am petrecut ceva mai mult timp cu Android Q pe Pixel 3 XL, am descoperit un serviciu „rol” pentru care aș putea elimina starea prin intermediul „dumpsys role’ comanda. După ce am făcut acest lucru, am găsit mai multe „roluri” care nu se potrivesc cu niciuna dintre categoriile implicite de aplicații care există deja: CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, și PROXY_CALLING_APP. După ce am instalat câteva dintre aplicațiile primare ale Google, am reușit să fac ca „Aplicația pentru telefon în modul mașină” și „Aplicația de filtrare a apelurilor” să apară în paginile „roluri”, așa cum se arată mai jos.

Am decompilat noul APK de sistem responsabil pentru interfața de gestionare a permisiunilor Android Q, o nouă aplicație numită „PermissionController” și a găsit un fișier roles.xml care sugerează ce vor face „rolurile” în următorul Android versiune. Nu voi lipi întregul XML aici, dar voi împărtăși un fragment din unul dintre roluri care ar trebui să vă ajute să înțelegeți ce vor face rolurile.

PermissionController.apk/res/xml/roles.xml

Să presupunem că selectez o aplicație pentru a avea rolul „galerie”. Pentru ca o aplicație să apară ca o aplicație de galerie validă, trebuie să aibă o componentă necesară: o activitate care se lansează cu filtrele de acțiune și intenție de categorie android.intent.action.MAIN și android.intent.category.APP_GALLERY respectiv. Dacă acest lucru este adevărat și aplicația primește rolul de „galerie” de către utilizator, atunci aplicației i se vor acorda automat permisiuni în setul de permisiuni „media_visual”, care cred că se referă la noua permisiune audio, video și imagini pe care am descris-o mai devreme. De fapt, noul WRITE_MEDIA_VIDEO și WRITE_MEDIA_IMAGES permisiunile sunt permise în mod explicit pentru o aplicație cu rola „galerie”. În cele din urmă, aplicația devine handlerul preferat atunci când o altă aplicație trimite intenția de a apela o aplicație de galerie.

Practic, oricărei aplicații cărora i-a fost acordat un anumit „rol” și are componentele necesare și permisiunile declarate primesc automat alte seturi de permisiuni relevante pentru cazurile lor de utilizare. În exemplul pe care l-am postat mai sus, unei aplicații cu „rolul” din galerie i se acordă automat permisiunea de a seturi de permisiuni legate de accesul la fișiere care trebuie să funcționeze. Probabil, aceasta înseamnă că o aplicație căreia i s-a acordat rolul de galerie de către utilizator nu ar trebui să-i ceară utilizatorului permisiunea de a citi sau scrie fișiere imagine sau video.

Judecând după nume, cel CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, și PROXY_CALLING_APP rolurile vor permite utilizatorului să aleagă o altă aplicație de apelare atunci când conduce, o aplicație pentru a îndeplini diverse funcții în timp ce utilizatorul se află într-un apel telefonic, o aplicație pentru a monitoriza apelurile telefonice înainte ca utilizatorul să răspundă și o aplicație pentru a facilita apelarea cu un număr intermediar, respectiv. Nu credem că rolul de filtrare a apelurilor este direct legat de Google Pixel Ecran de apel funcție, judecând după ceea ce am văzut în AOSP. Mai degrabă, este destinat aplicațiilor care doresc să acționeze ca un bouncer pentru apelurile spam, cum ar fi un filtru de apeluri.

Instalator de pachete reînnoit

Programul de instalare implicit al pachetului Android (aplicația care se ocupă de instalarea de aplicații noi) primește o reproiectare. În loc să afișeze o activitate pe ecran complet oricând doriți să instalați o nouă aplicație, programul de instalare a pachetului actualizat în Android Q afișează un mic dialog în mijlocul ecranului. Această interfață de instalare a pachetelor mini a fost folosită pentru tablete Android de mult timp, dar aceasta este prima pe care o vedem pe smartphone-uri Android.

În Android Q, rularea oricărei aplicații care vizează nivelul API 22 sau mai jos (Android 5.0 Lollipop) va afișa un avertisment că aplicația este învechită. Acest avertisment, bănuiesc, este suficient pentru a descuraja majoritatea utilizatorilor să nu se deranjeze cu aplicațiile care vizează versiunile pre-Android Marshmallow. Combinați asta cu faptul că Google va solicita ca orice aplicație trimisă la Magazinul Play după august 2019 să vizeze Nivelul API 28, puteți vedea cum dezvoltatorii cu aplicații învechite sunt forțați să-și refacă aplicațiile pentru a viza un API mai nou nivel. Cum se leagă toate acestea de noul program de instalare a pachetelor? Ei bine, deoarece Android 5.0 Lollipop este ultimul nivel API fără solicitări obligatorii de permisiuni de rulare pentru anumite permisiuni sensibile, eventuala moarte a aplicațiilor care vizează Nivelul API 22 și mai jos înseamnă că Google nu mai trebuie să facă loc în mesajul de instalare a pachetului pentru a afișa o listă lungă de permisiuni pentru care o aplicație este acordată instalare.

Cu toate acestea, probabil că nu veți vedea acest program de instalare a pachetului simplificat pe toate dispozitivele Android Q. Huawei, de exemplu, personalizează programul de instalare a pachetelor cu un scaner de viruși și programe malware încorporat (ceva pe care îl urăsc), precum și un Manager de permisiuni încorporat (ceva ce îmi place.) EMUI 10, prin urmare, probabil că va rămâne cu programul de instalare a pachetului pe ecran complet, suntem cu toții folosit pentru.

Opțiuni noi de blocare a apelurilor

O caracteristica credeam că vine în Android Pie de fapt și-a făcut loc în Android Q, arătându-vă cât de aproape suntem de finalizarea funcțiilor de bază Android Q. Funcția pe care am găsit-o atunci vă permite să blocați apelurile de la numere de telefon necunoscute, private, cu plată sau orice numere care nu sunt în lista de contacte. Iată o captură de ecran a funcției din aplicația de apelare AOSP. Aplicația Google Phone nu a fost încă actualizată cu această funcție, dar presupunem că o va primi în curând.

Toate aplicațiile instalate arată acum pictogramele de lansare (posibil eroare?)

Majoritatea aplicațiilor de pe dispozitivul dvs. au pictograme de lansare, deoarece sunt menite să fie porți de acces în interfața lor de utilizator. Cu toate acestea, nu fiecare aplicație are o interfață de utilizare, caz în care un dezvoltator poate alege să nu declare o activitate cu filtrele de acțiune și intenție de categorie android.intent.action.MAIN și android.intent.category.LAUNCHER respectiv. Nu sunt sigur dacă acesta este doar o eroare, dar în Android Q, toate aplicațiile, chiar și cele care încearcă să-și ascundă pictogramele de lansare în modul descris mai sus, vor afișa pictograme în lansator. Am testat acest lucru pe AOSP Launcher, Pixel Launcher și Nova Launcher pe un Google Pixel 3 XL care rulează versiunea Android Q scursă și a comparat-o cu un Google Pixel 2 XL care rulează cel mai recent Android 9 Pie construi. Când atingeți una dintre aceste pictograme, pur și simplu vă duce la pagina de informații a aplicației respective din Setări.

Hyperion dock, un supliment pentru Hyperion Launcher, în mod normal nu afișează o pictogramă de lansare. Totuși, se întâmplă în Android Q.

Dacă aceasta nu este doar o eroare, atunci aceasta ar fi o modalitate prin care utilizatorii pot spune rapid dacă a fost instalată o nouă aplicație, chiar dacă acea aplicație încearcă să se ascundă de utilizator.

Piața Setări rapide „Senzori dezactivați”.

Există o nouă țiglă Setări rapide numită „senzori dezactivați”, care nu numai că activează modul avion, ci și dezactivează toate citirile senzorului de pe dispozitiv. Am confirmat acest lucru prin instalare DevCheck de la XDA Recognized Developer flar2 și comparând rezultatul citirilor senzorului cu și fără comutatorul „senzori opriți”. Când piesa „Senzori dezactivați” este activată, dispozitivul nu mai raportează de la toți senzorii de pe dispozitiv. Nu sunt sigur dacă această țiglă de setare rapidă este doar pentru inginerii Google să o depaneze, dar aceasta ar fi o caracteristică utilă pentru oricine este cu adevărat preocupat de ce date colectează dispozitivul lor despre el mediu inconjurator.

DevCheck Informații despre dispozitiv și sistemDezvoltator: flar2

Pret: Gratuit.

4.6.

Descarca

Mai multe despre Android Q

Acesta este tot ce este legat de confidențialitate și permisiuni pe care le-am găsit până acum în Android Q. Rămâneți pe fază pentru articolul meu final care acoperă toate modificările mai mici ale UI și UX. Urmărește-ne Eticheta Android Q pentru mai multe articole de genul acesta. Iată un link către unele dintre articolele la care m-am referit mai des, precum și la câteva altele pe care cred că ar trebui să le citiți:

  • Exclusiv: versiunea timpurie a Android Q are o temă întunecată la nivel de sistem, o permisiune de reînnoire, indicii despre „Modul desktop” și multe altele
  • Exclusiv: Google lucrează la o funcție asemănătoare Face ID pentru Android Q
  • Android Q poate bloca citirile din clipboard în fundal, protejează-ți mai bine fișierele media, acceptă downgrade-ul aplicațiilor și multe altele
  • Android Q poate fi livrat cu noi suprapuneri de font, formă de pictogramă și culori de accent
  • „Dynamic Android” poate permite dezvoltatorilor să testeze un AOSP GSI pe orice dispozitiv Android Q
  • Modul întunecat al Android Q: Cum următorul sistem de operare Android al Google va aborda teme orbitor de ușoare