Файловият формат на приложението за Android, APK (Android PacKage), е с нас от стартирането на Android през 2008 г. Той е преносим и лесен за създаване, защото е просто .zip файл, който е организиран и широко поддържан от различни инструменти. Windows 11 ще поддържа формата като част от предстоящия Съвместимост с Android. Google обаче не иска APK файловете вече да са начин за публикуване на приложение за Android. Google Блог за разработчици на Android Той обобщава как от август новите приложения, качени в Play Store, ще трябва да използват новия формат на Android App Packages (AAB) за разпространение на приложения. Това изглежда само началото и Google казва, че пакетите с приложения ще „заменят APK като стандартен формат за публикуване“.
Пакетите с приложения за Android бяха въведени в екосистемата на Android през 2018 г. и аз написах голям раздел за тях в Преглед на Android 9. Основната идея за продажба е, че устройствата с Android имат много различни устройства и езикови комбинации, които приложенията трябва да поддържат, а изпращането на целия този код до всяко отделно устройство е загуба на място. Android поддържа повече от 150 езика, Четири различни CPU архитектури (ARMv7, ARMv8, x86, x86_64) и много комбинации от разделителна способност на екрана. Обикновено всичко това се обединява в един APK (въпреки че понякога се разбива от архитектурата на процесора), но това означава, че всяка машина получава много код и ресурси, които не са от значение за специфичния им микс от процесор и локал. И екран размер. Макар това загуба на място за съхранение да няма голямо значение за телефони от висок клас с добри интернет връзки, това може да е голям проблем за по-евтините устройства с ограничено съхранение и на места, където бързият интернет е трудно да се намери.
Решението на Google е Android App Bundle, който трансформира разпространението на приложения за Android от монолитен, глобален APK в набор от „разделени APK“, които могат да бъдат специално разпространени чрез Google Play Store до всяко отделно устройство. Както подсказва името, тези „разделени APK файлове“ не са пълни приложения. Те са части от приложение, всяка насочена към определена област на промяна, които се комбинират, за да формират крайното приложение. С пакетите с приложения, ако имате ARMv8 HD устройство с локал, зададен на английски с пакети от приложения, Play Store ще предава поточно куп разделени APK файлове, които поддържат само този тип устройства. Ако вашият приятел има телефон с ниска разделителна способност ARM v7 за английски и хинди, той ще получи друг комплект APK файлове, които поддържат точно това. Google Play може да създава персонализирани APK файлове за всеки потребител, като им дава само кода, от който се нуждаят, и нищо повече. Google казва, че резултатът са приложения, които са с 15 процента по-малки от глобалния APK.
Разработчиците, използващи пакети за приложения, могат да поставят модули Характеристика от приложението. Това позволява функциите да се доставят само на устройства, които ги поддържат, или те не са включени в първоначалното изтегляне и са достъпни само за потребителите като изтегляне при поискване. Същата функция се стартира при поискване, ако потребителят промени езиковите настройки.
Въпреки че App Bundle предпочита да изпраща страхотните нови разделени APK, не е задължително. Тъй като може да форматира приложения, както иска, все още е възможно да създадете хомогенен и съвместим назад APK файл. Това прави подхода универсално съвместим с всички телефони с Android, независимо колко небрежно е вашето текущо устройство.
Пакети с приложения срещу екосистемата, различна от Google Play
Подобно на много нови функции на Android, промяната от APK към Android App Bundles води до по-сложен и сложен набор от функции за пускане на приложения. Но също така дава на Google по-голям контрол върху екосистемата на Android. Пакети с приложения за Android Трябва да бъдат обработени от облачния компютър на App Store, за да бъдат полезни. Докато пакетите с приложения са с отворен код, а Google има отворен код “Пакет„Някои други компании може да се наложи да изградят собствена инфраструктура, да платят за сървъра, за да го хоства в облака, и да се справят с обезсърчаващите изисквания за подписване на приложения (повече за това по-късно).
Пакетите за приложения, които са с отворен код, позволяват на инструментите за разработка да ги поддържат по-лесно. Но алтернативен магазин за приложения ще трябва да поеме толкова много работа и отговорност, че е съмнително форматът да стане нещо различно от пакета с приложения на Google Play.
Подписването на приложения е един от основните компоненти за сигурност на APK файловете. Това е цифров сертификат, собственост на разработчика на приложението, който удостоверява, че те са създали приложението. Подписването на приложението не е релевантно при първото инсталиране, но за всяка точка след това подписите трябва да съвпадат. Това означава, че само собственикът на сертификата – разработчикът на оригиналното приложение – може да актуализира това приложение. Никоя произволна трета страна не може да генерира APK файл, наречен „Google-Pay.apk“, който замества реалното приложение на Google Pay и открадва цялата ви банкова информация.
Пакетите с приложения публикуват APK файлове. Това означава, че цялата система за създаване на приложения трябва да бъде хоствана в облака. Това също така означава хостване на всеки ключ за подпис за отделно приложение за разработчици в облака, ефективно прехвърляне на отговорността за приложението от разработчика на Google. Google нарича това „Подписване на приложения в Google Play“ и компанията сериозно обещава, че все още притежавате приложението и все още ще имате достъп до него. Но това споразумение е малко като прехвърляне на заглавието във вашия дом на трета страна.
Контролът на Google върху Play Store означава, че той вече притежава улицата и алеята, но сега има по-голям контрол върху приложението ви. Ако Google Play Екипи роуминг от Автоматизирани довършителни ботове Насочете вашия акаунт на програмист към някои осезаемо нарушение, ще имате по-ниско право на връщане.
Пакетите с приложения за Android поставят огромно количество сила и отговорност в ръцете на собственика на магазина за приложения. В случай че инфраструктурата на App Store е компрометирана, трета страна може да получи достъп до ключовете на разработчика и да започне да натиска злонамерени актуализации. Ако нямате доверие на собственика на магазина за приложения, това е лошо. Те притежават ключа за подписване сега и могат да променят приложението ви без ваше знание, ако искат. Правителството може да принуди собственика на магазина за приложения да промени и вашето приложение. В случая с Google, компанията вероятно ще свърши по-добра работа по сигурността на съхранението, отколкото повечето разработчици на приложения. Но отново е трудно да си представим, че магазини, които не са от Google, възприемат това.
Google направи някои отстъпки, за да облекчи опасенията по този въпрос. Разработчиците могат да запазят локално копие на ключа за подпис, който качват в Google, което им позволява да създават валидни актуализации, които могат да бъдат инсталирани върху версиите на Google Play. Разработчиците могат също да изтеглят подписани „APK файлове за разпространение“ от конзолата за разработчици на Google Play, които са универсални APK файлове от старата школа, които могат да бъдат качени в други магазини за приложения. Ако се притеснявате от това, че Google променя приложението ви без вашето съгласие, Google казва „Нова опция“Символ за прозрачностФункцията ще позволи на разработчиците да проверят дали хешовете в кода на изтегленото приложение съответстват на това, което са качили.
От август пакетите приложения ще бъдат задължителни за новите приложения. Засега Google казва, че „съществуващите приложения в момента са освободени“ от изискването за пакет от приложения. Ще приемем присъствието на думата „в момента“ като чудесен индикатор за бъдещите планове.
За Google пакетите с приложения за Android са голям проблем. На Google I / O 2018 компанията заяви, че ако всяко приложение се преобразува в пакети, Google ще спести 10 петабайта честотна лента. за един ден, което е зашеметяващо число, показващо мащаба, в който Play Store работи. За тези от нас, които не се интересуват от сметките за честотна лента на Google, струва ли си наистина 15-процентовите спестявания на място наистина да променят цялата екосистема на APK и да преместят повече енергия към Play Store и сървърите на Google?
Списък със снимки от Google
More Stories
Съобщава се, че Apple работи върху 90Hz Studio Display, iMac и iPad Air
Новото музикално приложение на Nintendo е клонинг на YouTube Music
2027 Pixel Tablet ‘3’ може да има втори USB-C порт