Android Q bo prinesel prenovo upravljanja dovoljenj in izboljšav za zaščito zasebnosti uporabnikov. Evo, kaj je Google spremenil od Android Pie.
Prodor Android 9 Pie na trg je komaj a blip na radarju v primerjavi s starejšimi različicami Androida, vendar to ne bo odložilo Googlovih načrtov za izdajo naslednje različice Androida, Android Q. Pričakujemo, da bo Google predstavil prvi razvijalski predogled Androida Q nekje naslednji mesec, vendar pred Googlovim objava nam je uspelo pridobiti zgradbo Android Q, ki je verjetno precej daleč v Googlovem razvoju cikel. V našem prvem članku s podrobnostmi o spremembah, ki prihajajo v naslednjo izdajo sladice, smo govorili o novem vmesniku za nadzor dovoljenj. Vendar sem pokazal le nekaj posnetkov zaslona prenovljenega sistema za upravljanje dovoljenj, zato sem želel nadaljevati z več podrobnostmi. Opravil sem tudi več testiranj in zbral več informacij o novih dovoljenjih v sistemu Android Q, funkciji »vlog«, novem namestitvenem programu za pakete in drugem. Najprej pa je tu kratek povzetek upravljanja dovoljenj v sistemu Android.
Kratka zgodovina upravljanja dovoljenj v sistemu Android
Android 4.3 Jelly Bean prvič predstavljen podrobno upravljanje dovoljenj prek funkcije »App Ops«, čeprav je bilo skrito pred uporabnikom. Android 4.4 KitKat je celo uvedel nova dovoljenja, ki jih lahko upravlja uporabnik v vmesniku App Ops, čeprav ste potreben korenski dostop in modul Xposed za dostop do njega. Končno je Android 6.0 Marshmallow predstavil sistem dovoljenj, ki ga vsi poznamo, čeprav z omejitvami glede dovoljenj, ki jih lahko omejite. Starejša funkcija App Ops še vedno obstaja v sistemu Android, čeprav je do nje mogoče dostopati le prek ukazne vrstice (cmd appops
). Določene aplikacije v Trgovini Google Play izkoristite implementacijo ukazne vrstice App Ops, da zagotovite zmogljivejši vmesnik za upravljanje dovoljenj. Google uporabnikom ne razkrije aplikacij App Ops, saj uporabniki morda ne vedo, kaj počnejo, zaradi česar aplikaciji zavrnejo nekatera dovoljenja, ki jih morda resnično potrebuje za pravilno delovanje. Na žalost od uvedbe upravljanja dovoljenj v sistemu Android Marshmallow nismo opazili nobenih večjih sprememb funkcije – torej do Androida Q.
Operacije aplikacije v sistemu Android 4.3 Jelly Bean
Android 6.0 Marshmallow je doživel tudi veliko spremembo v načinu dodeljevanja določenih dovoljenj aplikacijam. Pred Androidom 6.0 vse določena dovoljenja v an datoteka manifesta aplikacije se podelijo ob namestitvi. Z Androidom 6.0, Google uvedeno upravljanje dovoljenj za izvajanje za določena dovoljenja, ki se jim zdijo nevarna, na primer dostop do zunanjega pomnilnika, dostop do kamere, dostop do lokacije in več. Dovoljenja za izvajanje se dodelijo šele po namestitvi aplikacije in uporabnik se mora izrecno strinjati z dodelitvijo teh dovoljenj tako, da tapne »dovoli« v pogovornem oknu za dovoljenja, ko je zahtevano. Do Googla razbiti v aplikacijah, ki ciljajo na starejšo raven API-ja, lahko razvijalci aplikacij zaobidejo dovoljenja za čas izvajanja tako, da ciljajo na raven API-ja 22 ali nižjo (Android Lollipop ali starejše). Android Q bo uporabnike opozoril poskuša zagnati aplikacijo, ki cilja na raven API-ja 22 ali nižjo, kar razvijalce dodatno spodbuja k posodobitvi svojih aplikacij, da se izognejo sramoti OS. Do takrat, ko Android Q pride na pot do naprav, bi morala biti skoraj vsaka aplikacija v uporabnikovi napravi podvržena nadzoru upravljanja dovoljenj, uvedenemu v sistemu Android 6.0+. S tem v mislih Google čisti kontrolnike dovoljenj v sistemu Android Q, da bi uporabnikom olajšal upravljanje ravni dostopa, ki ga imajo aplikacije v njihovi napravi.
Lažje upravljanje dovoljenj v sistemu Android Q v primerjavi s sistemom Android Pie
Od Androida 6.0 Marshmallow do Androida 9 Pie obstoječe upravljanje dovoljenj izvajalnega časa uporabniku omogoča samo dovolitev ali zavrnitev določenih dovoljenj za aplikacijo. V našem prejšnjem članku smo omenili, da bo Android Q uporabniku omogočil omejitev dovoljenja samo, ko je aplikacija v uporabi. Ta funkcija je navdušila veliko ljudi, vendar moramo to pojasniti samo dovoljenje za lokacijo je mogoče omejiti na čas, ko je aplikacija v uporabi. To pomeni, da mikrofona ali kamere ne morete omejiti samo, ko je aplikacija v uporabi. Vendar vas to ne bi smelo razočarati, saj je že Android Pie predstavljen nekatere omejitve glede uporabe v ozadju fotoaparat in mikrofon z zahtevo, da so aplikacije v ospredju ali uporabljajo storitev v ospredju. Poleg tega Android Q to širi za razkritje uporabniku vsakič, ko katera koli aplikacija uporablja mikrofon, kamero ali dostopa do lokacije naprave. To je uporabniku prikazano kot ikone vrstice stanja v zgornjem desnem kotu. Ko je vrstica stanja razširjena, besedilo, prikazano poleg ikon, pove uporabniku, katera aplikacija trenutno uporablja eno od teh 3 občutljivih dovoljenj. Nazadnje, če se uporabnik dotakne te ikone, se prikaže pogovorno okno, ki uporabniku pove, katere aplikacije uporabljajo katera dovoljenja. Še enkrat, to velja samo za dovoljenja za kamero, lokacijo in mikrofon.
Zdi se, da Google spodbuja uporabnike, da omejijo dostop do lokacije le, ko je aplikacija v uporabi, saj so se v opomnik v sistemu Android Q, ko je uporabnik aplikaciji dovolil vedno dostop do njegove lokacije. Ta opomnik je v obliki obvestila, ki uporabniku pove, da je aplikacija uporabljala njegovo lokacijo in da ima to možnost vedno. Če se dotaknete obvestila, se odpre stran z dovoljenjem za lokacijo za to aplikacijo, kjer lahko uporabnik izbere omejitev dovoljenja za lokacijo samo, ko je ta aplikacija v uporabi. Vsa čast za to, Google.
Nazadnje, v različici, ki jo imam, je uporabniški vmesnik za posebna dovoljenja za dostop do aplikacij (kot so optimizacija baterije, skrbnik naprave, dostop do načina Ne moti, dostop do obvestil itd.) nespremenjen. Vendar je bilo na seznam dodano novo posebno dovoljenje »Financial Apps SMS Access«, čeprav ne vem, kako razlikuje se od dovoljenja »Premium SMS access«, ki ga potrebujejo aplikacije za pošiljanje besedilnih sporočil v premium številke. Možno je, da je to novo dovoljenje namenjeno bančnim aplikacijam, ki uporabljajo SMS za določene transakcije, v skladu z Novi pravilniki Google Play omejevanje dovoljenj za sporočila SMS in dnevnik klicev.
Upravljanje dovoljenj v sistemu Android Q
Tukaj je galerija posnetkov zaslona, ki prikazuje nove spremembe vmesnika za upravljanje dovoljenj v sistemu Android Q. V napise vsake slike sem vključil podrobne opise vsake strani.
Podeljevanje dovoljenj v sistemu Android Q
Tukaj so posnetki zaslona, ki prikazujejo upravljanje dovoljenj med izvajanjem v sistemu Android Q. O tem, kaj prikazujeta prva dva posnetka zaslona, smo že govorili, tretji posnetek zaslona pa je popolnoma nova funkcija Androida Q, o kateri prej nisem razpravljal. Možnost Androida, da uporabniku dovoli nadzor nad dovoljenji pred zagonom podedovane aplikacije (opredeljene kot aplikacija, ki cilja na raven API < 23), je nekaj, kar je že mogoče v Android Pie z prava konfiguracija, vendar je Google končno premaknil stikalo in ga omogočil v sistemu Android Q.
Spremljanje dovoljenj v realnem času v sistemu Android Q
Tu so posnetki zaslona, ki prikazujejo, kako bo Android Q uporabnika opozoril, ko aplikacija dostopa do enega od več občutljivih/nevarnih dovoljenj, vključno s kamero, lokacijo in mikrofonom.
Nove omejitve dostopa do odložišča, dostop do zunanjih datotek
Omejitve dostopa do odložišča v ozadju
V svojem prejšnjem članku sem opazil novo dovoljenje v ogrodju Android Q, ki je predlagalo, da nesistemske aplikacije, ki se izvajajo v ozadju, ne bodo mogle več brati sistemskega odložišča. Ko smo vzpostavili trgovino Google Play, sem se odločil namestiti nekaj priljubljenih aplikacij za upravljanje odložišča, kot je Upravitelj odložišča, Strižnik, in Clip Stack da preizkusim, ali imam prav. V dobrem ali slabem Google blokira dostop do odložišča v ozadju v sistemu Android Q, kot nobena od aplikacij, ki sem jih preizkusil, ni mogla zaznati besedila, ki sem ga kopiral v odložišče. Potrdil sem celo, da imajo te aplikacije "READ_CLIPBOARD
" dovoljenje, ki so ga zahtevali z uporabo naslednjega ukaza App Ops:
adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow
Na srečo kopiranje in lepljenje besedila v katero koli aplikacijo in iz nje še vedno deluje, vendar aplikacije, ki se izvajajo v ozadju, ne morejo več brati besedila, ki se kopira. Prezgodaj je reči, ali bo ta sprememba uničila aplikacije za upravljanje odložišča, ker obstaja možnost, da bo Google uvedel nov API, s katerim bo aplikacija postala privzeti upravljalnik "upravljalnika odložišča". Vendar ne vidim nobenega dokaza, da bi se to dogajalo v Androidu Q.
Dostop do datoteke zunanjega pomnilnika
Skoraj vse o tej spremembi sem zajel v prejšnjem članku, tukaj pa je povzetek tega, kaj Google spreminja v sistemu Android Q glede dostopa do datotek zunanjega pomnilnika. Najprej moramo definirati, kaj pomeni "zunanji pomnilnik". V sistemu Android je zunanji pomnilnik mesto, kjer so shranjene vse datoteke in mape, ki jih lahko vidite, ko telefon priključite na računalnik, kot so prenosi, DCIM, glasba, filmi in slike. Aplikacije naj bi v zunanjem pomnilniku shranjevale samo datoteke, do katerih bi morda želele dostopati druge aplikacije, na primer glasbo, slike, videoposnetke, dokumente itd.
Da lahko aplikacija dostopa do datotek v zunanjem pomnilniku, mora imeti aplikacijo READ_EXTERNAL_STORAGE in/ali WRITE_EXTERNAL_STORAGE dovoljenja, ki sta dovoljenja za čas izvajanja. Ko ima aplikacija ta dovoljenja, ni nobenih omejitev glede datotek v zunanjem pomnilniku, ki jih lahko bere ali spreminja. V sistemu Android Q Google razčleni ti dve dovoljenji na bolj natančna dovoljenja, kar uporabniku omogoča, da omeji aplikacijo, tako da lahko bere ali piše samo določene vrste datotek. Natančneje, nova dovoljenja v sistemu Android Q bodo uporabniku omogočila omejitev aplikacije, tako da lahko le:
- Preberite lokacije iz vašega medija.
- Branje ali pisanje glasbenih datotek.
- Branje ali pisanje fotografij/slikovnih datotek.
- Branje ali pisanje video datotek.
Aplikacija, ki ji je že bilo dodeljeno dovoljenje READ_EXTERNAL_STORAGE, preden je uporabnik nadgradil na Android Q bo samodejno dobil zgoraj navedena dovoljenja za "branje", ne pa tudi za "pisanje". dovoljenja.
Dostop do lokacije v ozadju
Lansko poročilo iz The New York Times je osvetlilo razširjenost aplikacij, ki sledijo lokaciji uporabnikov za prodajo oglaševalcem. Nepravilno sledenje lokaciji je težava, ki se je Google že dobro zaveda sami obtoženi. Predstavljen Android 8.0 Oreo omejitve o tem, kako pogosto lahko aplikacije, ki se izvajajo v ozadju, dostopajo do lokacije naprave. Zahteve za lokacijo iz aplikacij, ki se izvajajo v ozadju, so močno omejene, tako da, če želi aplikacija slediti vaši lokaciji s katerim koli stopnjo natančnosti, mora razkriti, da to počne z vidno dejavnostjo ali storitvijo v ospredju in vztrajno obvestilo.
Vendar pa vsakič, ko Google spremeni način delovanja osnovnih API-jev za Android, to vpliva na razvijalce, katerih aplikacije so zakonito uporabljale te API-je, kot je bilo predvideno. Nedavno smo videli, da se je to dogajalo z omejitvami storitve Google Play glede dovoljenj za sporočila SMS in dnevnik klicev, kar je povzročilo veliko priljubljene aplikacije izgubijo ključne funkcije. Ista situacija se je zgodila, ko je Google omejil dostop do lokacije v ozadju z uporabniki priljubljenega aplikacija za golfpritoževanje da ga ne morejo več uporabljati za sledenje svojih posnetkov. Na srečo Android Q dodaja nov "ACCESS_BACKGROUND_LOCATION
" dovoljenje, ki aplikaciji vedno omogoča dostop do lokacije naprave, tudi ko se aplikacija izvaja v ozadju. Tako nova različica Androida ne bo le še naprej ščitila uporabnikov pred nezaželenim dostopom do lokacije v ozadju, ampak bo tudi zagotovila mehanizem, s katerim bodo uporabniki dovolili aplikacije po svoji izbiri za spremljanje njihove lokacije v ozadju.
Dodatek "vlog" v sistemu Android Q
Pri Danielu praktični video za naš YouTube kanal XDA TV, ste morda slišali, da omenja nov razdelek »Vloge« v nastavitvah privzetih aplikacij (Nastavitve --> Aplikacije in obvestila --> Privzete aplikacije). Edine »vloge«, ki so bile prikazane v videu, so bile za brskalnik, telefon in sporočila, kar se je zdelo odveč, saj že obstajajo privzete kategorije aplikacij za brskalnik, telefonske aplikacije in aplikacije za SMS. Potem ko sem nekaj časa preživel z Androidom Q na Pixel 3 XL, sem odkril storitev »vloge«, za katero bi lahko prek »dumpsys role
' ukaz. Po tem sem našel več "vlog", ki se ne ujemajo z nobeno od privzetih kategorij aplikacij, ki že obstajajo: CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, in PROXY_CALLING_APP
. Po namestitvi nekaj Googlovih aplikacij prvega proizvajalca mi je uspelo doseči, da sta se »Aplikacija za telefon v avtomobilskem načinu« in »Aplikacija za pregledovanje klicev« prikazala na straneh »vlog«, kot je prikazano spodaj.
Dekompiliral sem nov sistemski APK, ki je odgovoren za vmesnik za upravljanje dovoljenj Androida Q, novo aplikacijo, imenovano »PermissionController« in našel datoteko roles.xml, ki namiguje, kaj bodo »vloge« naredile v naslednjem Androidu različica. Tukaj ne bom prilepil celotnega XML-ja, ampak bom delil delček ene od vlog, ki vam bo pomagal razumeti, kaj bodo vloge naredile.
Recimo, da izberem aplikacijo, ki bo imela vlogo »galerije«. Da se aplikacija prikaže kot veljavna galerijska aplikacija, mora imeti eno zahtevano komponento: dejavnost, ki se zažene s filtri namena dejanj in kategorij android.intent.action.MAIN
in android.intent.category.APP_GALLERY
oz. Če je to res in je uporabnik aplikaciji dodelil vlogo »galerije«, bo aplikaciji samodejno dodeljena dovoljenja v naboru dovoljenj »media_visual«, ki se po mojem mnenju nanaša na novo dovoljenje za zvok, video in slike, ki sem ga opisal prej. Pravzaprav nov WRITE_MEDIA_VIDEO
in WRITE_MEDIA_IMAGES
dovoljenja so izrecno dovoljena za aplikacijo z zvitkom »galerija«. Nazadnje, aplikacija postane prednostni upravljavec, ko druga aplikacija pošlje namero za klic aplikacije galerije.
V bistvu se vsaki aplikaciji, ki ji je dodeljena določena "vloga" in ima deklarirane zahtevane komponente in dovoljenja, samodejno dodelijo drugi nizi dovoljenj, ki ustrezajo njihovim primerom uporabe. V primeru, ki sem ga objavil zgoraj, aplikacija z "vlogo" galerije samodejno dobi dovoljenje za nabore dovoljenj, povezanih z dostopom do datotek, ki jih potrebuje za delovanje. Verjetno to pomeni, da aplikaciji, ki ji je uporabnik dodelil vlogo galerije, uporabnika ne bi bilo treba vprašati za dovoljenje za branje ali pisanje slikovnih ali video datotek.
Sodeč po imenih, CAR_MODE_DIALER_APP
, CALL_COMPANION_APP
, CALL_SCREENING_APP
, in PROXY_CALLING_APP
vloge bodo uporabniku omogočile, da med vožnjo izbere drugo aplikacijo za klicanje, aplikacijo za izvajanje različnih funkcij, medtem ko je uporabnik v telefonski klic, aplikacija za pregled telefonskih klicev, preden uporabnik dvigne telefon, in aplikacija za olajšanje klicanja s posredniško številko, oz. Ne verjamemo, da je vloga preverjanja klicev neposredno povezana z Google Pixel Call Screen funkcija, sodeč po tem, kar smo videli v AOSP. Namesto tega je namenjen aplikacijam, ki želijo delovati kot odbijač neželenih klicev, kot je filter klicev.
Prenovljen namestitveni program za pakete
Androidov privzeti namestitveni program za pakete (aplikacija, ki skrbi za namestitev novih aplikacij) bo preoblikovan. Namesto da bi prikazal celozaslonsko dejavnost kadar koli želite namestiti novo aplikacijo, posodobljeni namestitveni program paketov v sistemu Android Q prikaže majhno pogovorno okno na sredini zaslona. Ta uporabniški vmesnik za namestitev mini paketov se že dolgo uporablja za tablične računalnike Android, vendar ga prvič vidimo na pametnih telefonih Android.
Če v sistemu Android Q zaženete katero koli aplikacijo, ki cilja na raven API-ja 22 ali nižjo (Android 5.0 Lollipop), se prikaže opozorilo, da je aplikacija zastarela. Sumim, da je to opozorilo dovolj, da večino uporabnikov odvrne od tega, da bi se ukvarjali z aplikacijami, ki ciljajo na različice Marshmallow pred Androidom. Povežite to z dejstvom, da bo Google od vseh aplikacij, predloženih v Trgovino Play po avgustu 2019, zahteval ciljanje Stopnja API-ja 28, lahko vidite, kako so razvijalci z zastarelimi aplikacijami prisiljeni predelati svoje aplikacije, da ciljajo na novejši API raven. Kako je vse to povezano z novim namestitvenim programom paketov? No, ker je Android 5.0 Lollipop zadnja raven API-ja brez obveznih zahtev za dovoljenja med izvajanjem za določena občutljiva dovoljenja, morebitna smrt ciljanja aplikacij Stopnja API-ja 22 in nižja pomeni, da Googlu ni več treba narediti prostora v sporočilu namestitvenega programa za prikaz dolgega seznama dovoljenj, ki so dodeljena aplikaciji namestitev.
Verjetno pa tega poenostavljenega namestitvenega programa za pakete ne boste videli na vseh napravah Android Q. Huawei, na primer, prilagodi namestitveni program paketov z vgrajenim pregledovalnikom virusov in zlonamerne programske opreme (nekaj, kar sovražim), ter vgrajen upravitelj dovoljenj (nekaj, kar mi je všeč.) EMUI 10 se bo zato verjetno držal celozaslonskega namestitvenega programa za pakete, ki smo ga vsi navajen.
Nove možnosti za blokiranje klicev
Značilnost mislili smo, da prihaja v Android Pie se je dejansko prebil v Android Q in vam pokazal, kako blizu smo pravzaprav dokončanju osnovnih funkcij Androida Q. Funkcija, ki smo jo našli takrat, vam omogoča blokiranje klicev z neznanih, zasebnih, plačljivih telefonskih številk ali katerih koli številk, ki niso na vašem seznamu stikov. Tukaj je posnetek zaslona funkcije iz aplikacije za klicanje AOSP. Aplikacija Google Phone še ni bila posodobljena s to funkcijo, vendar predvidevamo, da jo bo kmalu dobila.
Vse nameščene aplikacije zdaj prikazujejo ikone zaganjalnika (možna napaka?)
Večina aplikacij v vaši napravi ima ikone zaganjalnika, ker so mišljene kot prehodi v njihov uporabniški vmesnik. Vendar nima vsaka aplikacija uporabniškega vmesnika, v tem primeru se lahko razvijalec odloči, da ne bo prijavil dejavnosti s filtri namena dejanj in kategorij android.intent.action.MAIN
in android.intent.category.LAUNCHER
oz. Nisem prepričan, ali je to le napaka, toda v sistemu Android Q bodo vse aplikacije, tudi tiste, ki poskušajo skriti svoje ikone zaganjalnika na zgoraj opisan način, prikazale ikone v zaganjalniku. To sem preizkusil na standardnem zaganjalniku AOSP, zaganjalniku Pixel in zaganjalniku Nova na delujočem Google Pixel 3 XL različico Android Q, ki je pricurljala v javnost, in jo primerjal z Google Pixel 2 XL z najnovejšim Androidom 9 Pie graditi. Ko se dotaknete ene od teh ikon, vas preprosto pripelje na stran z informacijami te aplikacije v nastavitvah.
Če to ni samo napaka, potem bi to bil način, da uporabniki hitro ugotovijo, ali je bila nameščena nova aplikacija, tudi če se ta aplikacija poskuša skriti pred uporabnikom.
Ploščica hitrih nastavitev »Senzorji izklopljeni«.
Na voljo je nova ploščica hitrih nastavitev, imenovana »senzorji izklopljeni«, ki ne samo vklopi letalski način, temveč tudi onemogoči vse odčitke senzorjev na napravi. To sem potrdil z namestitvijo DevCheck iz XDA Recognized Developer flar2 in primerjava izpisa odčitkov senzorjev z in brez preklopa "senzorji izklopljeni". Ko je ploščica »senzorji izklopljeni« vklopljena, naprava preneha poročati z vseh senzorjev v napravi. Nisem prepričan, ali je ta ploščica s hitrimi nastavitvami namenjena samo Googlovim inženirjem za odpravljanje napak, toda to bi bila uporabna funkcija za vse, ki jih resnično skrbi, katere podatke njihova naprava zbira o svojih okolju.
Cena: brezplačno.
4.6.
Več o Androidu Q
To je vse, kar sem do zdaj našel v sistemu Android Q, povezano z zasebnostjo in dovoljenji. Ostanite z nami za moj zadnji članek, ki pokriva vse manjše prilagoditve uporabniškega vmesnika in UX. Sledite našim Android Q oznaka za več takšnih člankov. Tukaj je povezava do nekaterih člankov, na katere sem se pogosteje skliceval, pa tudi do nekaj drugih, za katere mislim, da bi jih morali prebrati:
- Ekskluzivno: Zgodnja zgradba Androida Q ima sistemsko temno temo, prenovo dovoljenj, namiguje na »Namizni način« in več
- Ekskluzivno: Google dela na funkciji, podobni Face ID za Android Q
- Android Q lahko blokira branje odložišča v ozadju, bolje zaščiti vaše predstavnostne datoteke, podpira aplikacije za nižjo različico in drugo
- Android Q bo morda dobavljen z novo pisavo, obliko ikone in prekrivnimi barvami poudarkov
- »Dinamični Android« lahko razvijalcem omogoči testiranje AOSP GSI na kateri koli napravi Android Q
- Temni način Android Q: Kako se bo Googlov naslednji operacijski sistem Android lotil osupljivo svetlih tem