Android 11 padara Google fotoattēlu lietošanu kaitinošu, taču tas var tikt novērsts

Pateicoties Scoped Storage, Android 11 noteiktās ierīcēs padara attēlu dzēšanu pakalpojumā Google fotoattēli nedaudz neērti, taču tas var tikt novērsts.

Mēs nevaram zināt, cik daudzās tirgū pieejamās ierīcēs darbojas operētājsistēma Android 11 kopš Google vairs nepublicē izplatīšanas statistiku, taču tagad, iespējams, ir desmitiem miljonu, kuru uzņēmumiem, piemēram, Xiaomi un Samsung, ir bijis laiks virzīt atjauninājumu, lai daudzi viņu modeļi. Ja jūsu ierīcē darbojas operētājsistēma Android 11 un jūs izmantojat pakalpojumu Google fotoattēli, pastāv iespēja, ka esat saskāries ar diezgan kaitinošām izmaiņām, kā lietotne apstrādā attēlu dzēšanu un atjaunošanu. Tā vietā, lai vienkārši atlasītu attēlus un videoklipus, kurus vēlaties dzēst, noklikšķiniet uz miskastes ikonas un pēc tam pieskarieties “pārvietot pogai miskastē, jums tagad būs jāpieskaras papildu uzvednei, lai piešķirtu pakalpojumam Google fotoattēli atļauju dzēst vai atjaunot failus.

Tiem no jums, kas uzņem daudz fotoattēlu un videoklipu, var būt kaitinoši, ka pakalpojumam Google fotoattēli ir jāpiešķir atļauja dzēst vai atjaunot failu. Un kā norādīja

AndroidPolice, pieskaršanās papildu pogai nav vienīgā problēma, kas jums var būt jārisina. Ja izmantojat pakalpojumu Google fotoattēli citā ierīcē un vēlaties rediģēt vai izmest failu, ko augšupielādējāt no tālruņa, kurā darbojas operētājsistēma Android 11, lietotne var lūgt pārskatīt "ārpussinhronizācijas izmaiņas". Tas var ātri kļūt kaitinoši, ja Google fotoattēli nepārtraukti pieprasa pārskatīt izmaiņas, kuras tikko veicāt citā platformā.

Papildu darbība, lai dzēstu vai atjaunotu failu, nebija nepieciešama operētājsistēmā Android 10, taču tagad tā ir nepieciešama operētājsistēmā Android 11, jo ir ieviesta aptvēruma krātuve. Pirms aptvertās krātuves piekļuvi visam ārējās krātuves direktorijam pārvaldīja viens atļauja, padarot jums grūti ierobežot to, kuras lietotnes var piekļūt jūsu privātajiem dokumentiem, attēliem vai video. Izmantojot aptverto krātuvi, Android ierobežo to, cik daudz lietotnes var piekļūt sensitīviem failiem bez skaidras lietotāja piekrišanas. Plašāku informāciju varat atrast sadaļā Scoped Storage šajā rakstā vai skatiet tālāk redzamo Google grafiku, lai iegūtu izmaiņu kopsavilkumu.

Kamēr viņi bija aizņemti, ierobežojot piekļuvi krātuvei operētājsistēmā Android 11, Google uzlaboja arī esošās API, lai uzlabotu lietotāja pieredzi. Piemēram, lietotnes, kuru mērķauditorija ir Android 11, var izmantot MediaStore API, lai izmetiet failu uz miskasti, nevis izdzēsiet to. Tomēr, lai pārvietotu failu uz miskasti, lietotnei tas ir jādara likt lietotājam piešķirt tai rakstīšanas piekļuvi. Tā kā lielākā daļa attēlu un videoklipu, ko pievienojat pakalpojumam Google fotoattēli no sava tālruņa, tika iegūti no citas lietotnes — piemēram, akciju kameras lietotne — Photos ir jālūdz atļauja, pirms tā var pārvietot failu uz vai no atkritumi. Tomēr Google fotoattēli neprasa atļauju izmest failus, ja izmantojat Pixel tālruni, kurā ir instalēta operētājsistēma Android 11. Tomēr tas prasa atļauju būtībā visās citās ierīcēs, kurās darbojas operētājsistēma Android 11, tostarp lielākajā daļā Samsung, Xiaomi, OnePlus un ASUS ierīču. Kas dod?

Iemesls ir tāds, ka sistēmas galerijas lietotnei neattiecas tvēruma glabāšanas ierobežojumi. Tas nozīmē, ka krājumu galerijas lietotne var atvērt, rediģēt vai dzēst attēlus un videoklipus bez skaidras atļaujas. Google fotoattēli ir sākotnēji iestatīti kā sistēmas galerijas lietotne Pixel tālruņos, taču lielākā daļa oriģinālo iekārtu ražotāju iestata savu galerijas lietotni. Turklāt nav neviena lietotājam paredzēta iestatījuma, lai mainītu sistēmas galerijas lietotni, pat ne Android “noklusējuma lietotņu” ekrānā. Tomēr tur ir slēpts veids, kā mainīt sistēmas galerijas lietotni, taču ir viens liels brīdinājums: tikai sistēmas lietojumprogrammu var iestatīt kā sistēmas galerijas lietotni. Tas nozīmē tikai tālruņus Google fotoattēli jau ir iepriekš instalēti kā sistēmas lietotne var izmantot šo triku.

Šim kritērijam neatbilst daudz tālruņu, taču pamatojoties uz mūsu testēšanu, mēs to varam apstiprināt darbojas lielākajā daļā OnePlus un dažu ASUS tālruņu. Šī metode nedarbojās nevienā no Samsung tālruņiem, kuros to pārbaudījām, un tā nedarbojās arī Xiaomi Mi 10 Pro. Ja jums ir root piekļuve vai izmantojat pielāgotu ROM, šī metode var darboties jūsu ierīcē pēc lietotnes Google fotoattēli sistematizācijas, taču mēs pārbaudījām šo metodi tikai krājuma ierīcēs.

Kā (varbūt) padarīt Google fotoattēlus par sistēmas galerijas lietotni

Kredīti pienākas Kīronam Kvinam (Kvinijs899 XDA forumos), lai dalītos ar šo triku!

Pirmā lieta, kas jums jādara, ir datorā instalēt ADB. Mums ir atjaunināts ceļvedis, kā to izdarīt šeit. Kad esat iestatījis ADB, ievadiet šādu komandu:

adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos

Ja neredzat kļūdu, iespējams, tā strādāja! Varat ātri pārbaudīt, vai tas darbojas, uzņemot fotoattēlu un pēc tam mēģinot to izdzēst pakalpojumā Google fotoattēli. Varat arī palaist šādu komandu:

adb shell dumpsys role

...un pārbaudiet, vai faila "android.app.role" īpašnieks. SYSTEM_GALLERY" ir "com.google.android.apps.photos" (Google fotoattēlu pakotnes nosaukums).

Ja jūsu izvade atbilst sarkanajā taisnstūrī iezīmētajam tekstam, tas darbojās.

Ko dara šī komanda?

Android 10 pievienoja a jaunā API ar nosaukumu "Lomas". Ja lietotnei ir noteikta loma, tai automātiski tiek piešķirta piekļuve noteiktām atļaujām. Piemēram, SYSTEM_GALLERY loma automātiski piešķir lietotnei "pilnu lasīšanas un rakstīšanas piekļuvi visiem attēlu un video failiem ārējā atmiņā, tostarp piekļuvi atrašanās vietai metadati." SYSTEM_GALLERY lomu var piešķirt tikai sistēmas lietojumprogrammām, un tās noklusējuma turētāju nosaka Android konfigurācijas vērtība "config_systemGallery". Kā mēs paskaidrojām iepriekš, lielākā daļa oriģinālo iekārtu ražotāju iepriekš iestata šo vērtību uz pakotnes nosaukumu, kas atbilst viņu sava galerijas lietotne. Šo vērtību nevar mainīt, nepārveidojot ietvaru vai neinstalējot pārklājumu, jo abiem ir nepieciešama root piekļuve.

Tomēr tas ir iespējams pievienot citu lietotni kā SYSTEM_GALLERY lomas turētāju, bet tikai ja šī lietotne ir arī sistēmas lietotne. Tas ir iespējams daudzos OnePlus un dažos ASUS tālruņos, jo šie oriģinālo iekārtu ražotāji šķietami iepriekš instalēja Google fotoattēlus sistēmas, nevis lietotāja līmenī. Šī iemesla dēļ lietotne Google fotoattēli ir piemērota SYSTEM_GALLERY lomai, un mēs izmantojam priekšrocības Android slēptās RoleManager čaulas saskarnes, lai piešķirtu tai piekļuvi atļaujām, kuras parasti nevar piešķirts. Ja mēģināt piešķirt SYSTEM_GALLERY lomu nesistēmas lietotnei, logcat tiks parādīta šāda kļūda:

ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY

Diemžēl mēs neesam atraduši veidu, kā apiet šo ierobežojumu, bet, ja mēs to izdarīsim, mēs dalīsimies ar savu metodi ar sabiedrību. Protams, mēs vēlētos, lai Google vienkārši padarītu lomu SYSTEM_GALLERY lietotāja definējamu, nevis ierobežotu ar oriģinālā aprīkojuma ražotāju izvēli.