Према скупу урезивања у АОСП-у, Гоогле може почети да ограничава приступ недокументованим или скривеним АПИ-јима у Андроид П. Многе апликације са именом бренда користе скривене АПИ-је за повећање функционалности, тако да ефекат може бити широко распрострањен.
Ажурирање 28.2.18: Гоогле је данас објавио пост на блогу који потврђује промене. Више детаља на крају чланка.
Док су неки Андроид ентузијасти спекулишући по ком ће десерту бити названа следећа верзија Андроид-а, постоје неки занимљиви догађаји који се дешавају иза кулиса. Приметили смо а неколико вредних пажње предстојеће функције у Андроиду П, али новије откриће у Андроид Опен Соурце Пројецт-у (АОСП) показало се далеко занимљивијим. Према овим недавним урезивањем, апликацијама може бити забрањен приступ АПИ-јима који нису документовани у Андроид СДК-у (као што су АПИ-ји означени јавадоц-овим атрибутом @хиде).
Зашто је ово важно
Комплет за развој софтвера за Андроид (СДК) пружа програмерима АПИ библиотеке и алате који су им потребни за тестирање и прављење нових Андроид апликација. Са сваким новим издањем Андроид-а долази читав низ нових АПИ-ја који су доступни програмерима преко Андроид СДК-а. Који су АПИ-ји доступни апликацији зависе од тога коју цомпилеСДКВерсион поставља програмер. Зато је Гугл
нови захтеви Плаи продавнице су толико значајни—то ће приморати апликације да се ажурирају и мигрирају на коришћење новијих АПИ-ја.Гоогле хостови странице документације за сваку класу и све њене методе које су доступне на сваком нивоу АПИ-ја. Ово је скуп документованих АПИ-ја који су доступни у званичном Андроид СДК-у. Можете лако да прегледате листу часова користећи Андроид апликацију као што је недавно објављена Андроид СДК Сеарцх апликација од Андроид инжењера Јаке Вхартон.
Цена: бесплатно.
4.1.
Међутим, Гоогле није документовао све АПИ-је који су доступни у сваком издању Андроида или су доступни у званичном Андроид СДК-у. Често постоје корисни АПИ-ји који су недокументован, али су ипак веома корисни. Не препоручује се програмерима да праве своје апликације користећи недокументоване или скривене АПИ-је, али многи то раде јер једноставно нема алтернативе ако желе да понуде одређену функцију. Програмери који користе скривене или недокументоване АПИ-је такође могу да се ставе у конкурентску предност, пошто могу да понуде функције које имају њихови конкуренти—који се придржавају АПИ-ја које нуди Андроид СДК—не може.
Иако не могу да пружим листу апликација које користе недокументоване АПИ-је (програмери вероватно не деле које користе јер би то дало предност њиховим конкурентима), листа је вероватно прилично велики. Стога бих закључио да би забрана приступа скривеним АПИ-јима била значајна. Марк Марфи, оснивач Цоммонсваре, слаже се:
Слажем се са проценом да ће масовна забрана приступа ставкама са коментарима @хиде бити велика ствар, ако се то оствари. Надамо се да мало апликација приступа овим ставкама као делу кључне функционалности. Међутим, сумњам да их многе апликације са именом бренда користе повремено, директно или преко библиотеке.
Шта се дешава у Андроиду П?
Ове предстојеће промене је први приметио КСДА Сениор Рецогнизед Девелопер рово89, програмер Кспосед Фрамеворк. Указао ми је на две обавезе, једну од која је био спојено, који уводи нови алат за прављење под називом „хидденапи“. Овај алат мења ознаке приступа свих чланова класе унутар ДЕКС датотеке иф њихови потписи се појављују на улазној сивој или црној листи, и ако је тако, означене методе ће се третирати као интерни АПИ-ји са ограниченим приступ. Друго урезивање описује како функционише црна листа АПИ-ја; спречава приступ боот цласс методе и поља означена горе поменутим 'хидденапи' којима програмери могу приступити статичким повезивањем, рефлексијом и ЈНИ.
Према рово89, крајњи резултат ове две промене у Андроид П је следећи:
Ако се ова урезивања споје, то би значило да апликације више не могу да користе/приступају скривеним АПИ-јима, тј. класе, методе и поља која су означена са @хиде у АОСП-у и стога нису део званични СДК. Ово не би био проблем за Кспосед модуле јер бих лако могао да вратим та урезивања или да дозволим модулима да такође приступити овим АПИ-јима. Али постоји много апликација које користе предности скривених АПИ-ја, а оне не би успеле будућност.
Заиста, даље обавезе показују да то може бити оно што Гоогле планира. Ово урадити наводи следеће:
Иако ово посебно урезивање није спојено јер је напуштено у корист 3 мања урезивања, порука урезивања описује сврху ових промена. Други сет од обавезује показати да ће Гоогле предложити алтернативе програмерима који желе да користе нејавне АПИ-је:
Међутим, често не постоје алтернативе за одређене скривене АПИ-је. Ми у КСДА можемо говорити из искуства овде као нажалост ова промена може значити крај неких иновативних апликација или ће можда захтевати неке велике апликације да смање функционалност. Ова предстојећа промена изгледа по духу слична недавној сузбијање услуга приступачности (то је било на срећу паузирао како је Гугл оценио иновативну употребу). Док већина апликација које користе недокументоване АПИ-је то раде из бенигних разлога, можда постоје неке апликације које су их злоупотребиле у зле сврхе.
Због тога, Гоогле можда закључава приступ свим скривеним АПИ-јима у Андроиду П како би заштитио кориснике од неколицине који их злоупотребљавају. Тешко је рећи колико ово може имати утицаја на кориснике, али ако сте програмер ако узмете у обзир да прегледате АОСП да бисте пронашли иновативну употребу скривеног АПИ-ја, можда бисте то желели преиспитати.
Ажурирање: Гоогле потврђује
У а блог пост објављено данас, 28. фебруара, Гоогле је потврдио ове промене. Наводећи ризике од пада за кориснике и потом приморавајући програмере да уведу хитне исправке, Гоогле наводи да се компанија постепено помера ка обесхрабривању програмера да приступају не-СДК-у интерфејси. Почевши од Андроида П, ограничења ће се проширити на интерфејсе Јава језика СДК-а.
Компанија наводи да ће "неке методе и поља која нису СДК бити ограничени", иако нису елаборирали које ће бити ограничене. У почетку ће се ограничење фокусирати на интерфејсе који се ретко користе, а неко време ће компанија дозволити програмери да наставе да користе методе и поља која нису СДК у којима је технички прелазак на СДК метод изазован. Међутим, на крају ће се ограничења проширити, тако да би програмери апликација који користе методе које нису СДК требало да пређу што је пре могуће у припреми за Андроид П. Што се тиче метода без СДК алтернативе, Гоогле тражи од програмера да објављују на њиховом Буг трацкер са више информација.
Следећи преглед програмера, који ће наводно ускоро стићи, омогућиће програмерима да тестирају постојеће апликације на црној или сивој листи пре коначног издања.