Андроид 11 ће увести опцију за програмере „Компатибилност апликација“ како би помогао у тестирању промена платформе

Андроид 11 ће доћи са новом поставком „Компатибилност апликација“ у опцији за програмере, што ће програмерима апликација олакшати тестирање промена понашања платформе.

Сваке године на Гоогле И/О-у, Гоогле истиче неке од најузбудљивијих промена које долазе у следећу верзију Андроид-а. Док већина корисника процењује верзије Андроида на основу визуелних промена које утичу на њихово искуство, свако ажурирање Андроид-а такође долази са гомилом промене АПИ-ја и понашање платформе. Ове промене су важне за програмере апликација које треба да забележе и да припреме своје апликације, јер могу суштински да промене начине на које крајњи корисници могу да користе њихове апликације. Са следећом верзијом Андроида, Андроид 11, Гоогле ће олакшати програмерима да тестирају и припреме своје апликације за предстојеће промене помоћу новог подешавања „Компатибилност апликација“ у опцијама за програмере.

Сваки пут када Гоогле објави нову верзију Андроида, програмери апликација који су заинтересовани за активно одржавање њихове апликације треба да прочитају нове промене и документацију која долази уз њих Промене. Затим могу да одлуче да ажурирају своју апликацију како би додали ове нове функције АПИ-ја ако желе или да мигрирају коришћење постојећих АПИ-ја на новије АПИ-је, путању која може, али не мора бити опциона. Програмери апликација не морају одмах да ажурирају циљни АПИ својих апликација, али морају то да ураде на крају да би испунили

промене циљних АПИ захтева Гоогле Плаи продавнице. Након тога, програмери такође треба да тестирају своју апликацију на новој верзији Андроид-а, а то се може урадити на емулираном уређају, уређају који се налази у облаку или локалном уређају. Тестирање је део развојне рутине, али тестирање постаје још важније када постоје велике промене.

Даље, када Гоогле жели да уведе велике промене у понашању платформе, они не примењују одмах промену у новој верзији Андроид-а. Ово је да заштити кориснике од тога да се многе њихове апликације покваре и изгубе функционалност, а програмерима такође даје више времена да ажурирају своје апликације. На пример, у Андроид 7 Ноугат, Гоогле је одлучио да ограничити нека имплицитна емитовања у циљу уштеде батерије. Уз Андроид 8 Орео, Гоогле потпуно ограничено апликацијама да региструју имплицитне пријемнике емитовања. Али пре него што је Андроид 8 Орео објављен, Гоогле је желео да се програмери припреме за сценарио у којем њихове апликације више неће моћи да региструју имплицитне пријемнике за емитовање. А за ово би програмери могли користите АДБ команду у Андроид 7 Ноугат да симулирате стање у којем имплицитно емитовање није доступно:

adb shell cmd appops set RUN_IN_BACKGROUND ignore

АДБ команде као што је ова изнад су пример како Гоогле дозвољава програмерима апликација да тестирају како би се њихове апликације понашале под променама понашања платформе Андроид.

Још један недавни пример је како у Андроид К Бета 2, Гоогле је замолио програмере да тестирају Сцопед Стораге на њиховим апликацијама покретањем ове АДБ команде:

adb shell cmd appops set your-package-name android: legacy_storage default && \

Као програмер апликација, може се претпоставити да вам одговара АДБ команде и да нисте посебно несклони да их користите за тестирање ових промена платформе. Али увек постоји простор за побољшање, а Гоогле олакшава овај процес тестирања увођењем једноставног корисничког интерфејса за контролу ових промена.

Са новим Пројекат ПлатформЦомпат, програмери више не морају да покрећу АДБ команде за сваку нову промену понашања платформе. Са Андроидом 11, Андроид ће имати нови подмени у оквиру опција за програмере за брзо пребацивање нових промена понашања платформе за сваку апликацију, без потребе да шаље било какве команде АДБ љуске. Постојаће различити одељци за сваки циљни ниво АПИ-ја – на пример, ниво АПИ-ја > 29 ће имати сопствени скуп промена понашања који се могу мењати, док ће АПИ ниво > 30 имати сопствени скуп Промене.

На снимку екрана изнад који приказује одељак Компатибилност апликација (из изворног АОСП-а који ради на емулатору), „Подразумевано Одељак „Омогућене промене“ укључује промене АПИ-ја за Андроид 11 које ће подразумевано бити омогућене у свим апликацијама без обзира на њихов циљ СДК. Одељак „омогућено за таргетСДКверсион > 29“ су промене Андроид 11 АПИ-ја које су омогућене само за апликације које циљају Андроид 11/АПИ ниво 30.

Иако ова конкретна промена неће директно одушевити крајње кориснике, она олакшава посао програмерима апликација, а то је увек добра ствар.


Хвала КСДА Рецогнизед Девелопер луца020400 за савет и за приложени снимак екрана.

Додатна покривеност на Андроид 11:

  • Андроид 11 би коначно могао да уклони Андроидово ограничење величине датотеке од 4 ГБ за видео снимке
  • Заказивање тамног режима могло би доћи у Андроид 11
  • Режим рада у авиону може коначно престати да искључује Блуетоотх аудио, почевши од Андроида 11 Р
  • Гоогле застарева Андроид-ов АсинцТаск АПИ у Андроиду 11
  • Гоогле ће натерати програмере за управљање датотекама да пошаљу образац за добијање широког приступа складишту датотека у Андроиду 11
  • Андроид 11 би коначно могао да донесе исправну, изворну имплементацију бежичног АДБ-а