Google Play verwijdert APK-bestanden voor de “Android App Bundle” waar Google meer controle over heeft

Het Android-toepassingsbestandsformaat, APK (Android PacKage), is bij ons sinds de lancering van Android in 2008. Het is draagbaar en gemakkelijk te maken omdat het slechts een .zip-bestand is dat is georganiseerd en breed wordt ondersteund door een verscheidenheid aan tools. Windows 11 ondersteunt het formaat als onderdeel van de komende Android-compatibiliteit. Google wil echter niet meer dat APK-bestanden de manier zijn om een ​​Android-app te publiceren. de Google Blog voor Android-ontwikkelaars Het vat samen hoe vanaf augustus nieuwe apps die naar de Play Store zijn geüpload, de nieuwe indeling Android App Packages (AAB) moeten gebruiken om apps te distribueren. Dit lijkt nog maar het begin en Google zegt dat de app-bundels “de APK zullen vervangen als het standaard publicatieformaat”.

Bundels met Android-apps werden in 2018 geïntroduceerd in het Android-ecosysteem en ik heb er een groot deel over geschreven in Android 9 recensie. Het kernidee van de verkoop is dat Android-apparaten veel verschillende hardware- en taalcombinaties hebben die apps moeten ondersteunen, en het verzenden van al die code naar elk afzonderlijk apparaat is een verspilling van ruimte. Android ondersteunt meer dan 150 talen, Vier verschillende CPU-architecturen (ARMv7, ARMv8, x86, x86_64) en veel combinaties van schermresolutie. Het is gebruikelijk om dit alles te bundelen in een enkele APK (hoewel het soms wordt opgesplitst door CPU-architectuur), maar dit betekent dat elke machine veel code en bronnen krijgt die niet relevant zijn voor hun specifieke mix van CPU en landinstelling en schermgrootte. Hoewel deze verspilling van opslagruimte niet veel uitmaakt op high-end telefoons met goede internetverbindingen, kan het een groot probleem zijn voor goedkopere apparaten met beperkte opslagruimte en op plaatsen waar snel internet moeilijk te vinden is.

De oplossing van Google is de Android App Bundle, die de distributie van Android-apps transformeert van een monolithische, wereldwijde APK in een reeks “gesplitste APK’s” die specifiek via de Google Play Store naar elk afzonderlijk apparaat kunnen worden gedistribueerd. Zoals de naam al doet vermoeden, zijn deze “gesplitste APK’s” geen volledige apps. Het zijn onderdelen van een applicatie, elk gericht op een specifiek veranderingsgebied, die samen de uiteindelijke applicatie vormen. Met App Bundles, als je een ARMv8 HD-apparaat hebt met een specifieke taalinstelling voor Engels met App Bundles, zal de Play Store een aantal gesplitste APK’s streamen die alleen dat type apparaat ondersteunen. Als je vriend een lage resolutie heeft, ARM v7-telefoon ingesteld voor Engels en Hindi, krijgt hij een andere set APK-bestanden die precies dat ondersteunen. Google Play kan voor elke gebruiker aangepaste APK’s maken, waardoor ze alleen de code krijgen die ze nodig hebben en niets meer. Google zegt dat het resultaat apps zijn die 15 procent kleiner zijn dan een wereldwijde APK.

Ontwikkelaars die applicatiepakketten gebruiken, kunnen modules plaatsen Kenmerken vanuit de app. Hierdoor kunnen functies alleen worden geleverd aan apparaten die ze ondersteunen, of ze zijn niet opgenomen in de eerste download en zijn alleen beschikbaar voor gebruikers als een on-demand download. Dezelfde functie start op aanvraag als de gebruiker de taalinstellingen wijzigt.

Hoewel de App Bundle er de voorkeur aan geeft de coole nieuwe gesplitste APK’s te verzenden, hoeft dat niet. Omdat het apps kan formatteren zoals het wil, is het nog steeds mogelijk om een ​​homogeen en achterwaarts compatibel APK-bestand te maken. Dit maakt de aanpak universeel compatibel met alle Android-telefoons, hoe onzorgvuldig je huidige apparaat ook is.

App-bundels tegen het niet-Google Play-ecosysteem

Zoals veel nieuwe Android-functies, resulteert de verandering van APK’s in Android App Bundles in een complexere en geavanceerdere functieset voor app-implementaties. Maar het geeft Google ook meer controle over het Android-ecosysteem. Android App Bundels Nodig hebben om door de App Store-cloudcomputer te worden verwerkt om nuttig te zijn. Terwijl app-bundels een open source-indeling zijn en Google open source heeft”Pakket“Wie kan het samenvoegen, sommige andere bedrijven moeten mogelijk hun eigen infrastructuur bouwen, betalen voor de server om deze in de cloud te hosten en omgaan met ontmoedigende vereisten voor het ondertekenen van applicaties (daarover later meer).

Applicatiepakketten, die open source zijn, stellen ontwikkelingstools in staat om ze gemakkelijker te ondersteunen. Maar een alternatieve app store zal zoveel werk en verantwoordelijkheid op zich moeten nemen dat het twijfelachtig is dat het formaat iets anders wordt dan de Google Play app-bundel.

Ondertekening van applicaties is een van de belangrijkste beveiligingscomponenten van APK-bestanden. Dit is een digitaal certificaat dat eigendom is van de app-ontwikkelaar en dat bevestigt dat ze de app hebben gemaakt. Het ondertekenen van de app is niet echt relevant bij de eerste installatie, maar voor elk punt daarna moeten de handtekeningen overeenkomen. Dit betekent dat alleen de eigenaar van het certificaat – de ontwikkelaar van de oorspronkelijke applicatie – die applicatie kan updaten. Geen enkele willekeurige derde partij kan een APK-bestand met de naam “Google-Pay.apk” genereren dat de echte Google Pay-app overschrijft en al uw bankgegevens steelt.

App-pakketten publiceren APK-bestanden. Dit betekent dat het hele systeem voor het maken van applicaties in de cloud moet worden gehost. Dit betekent ook dat elke handtekeningsleutel voor een afzonderlijke ontwikkelaars-app in de cloud wordt gehost, waardoor de verantwoordelijkheid voor de app effectief wordt overgedragen van de ontwikkelaar naar Google. Google noemt dit ‘Google Play App Signing’ en het bedrijf belooft serieus dat je nog steeds eigenaar bent van de app en er nog steeds toegang toe hebt. Maar deze regeling lijkt een beetje op het overdragen van de titel naar uw huis aan een derde partij.

Google’s controle over de Play Store betekent dat het al eigenaar is van de straat en oprit, maar nu heeft het meer controle over je app. Als Google Play Teams roamt van Geautomatiseerde afwerkbots Richt uw ontwikkelaarsaccount op sommigen waarneembare overtreding, heeft u een lager recht op retour.

Android-app-bundels leggen een enorme hoeveelheid macht en verantwoordelijkheid in de handen van de eigenaar van de app store. In het geval dat de App Store-infrastructuur wordt gecompromitteerd, kan een derde partij toegang krijgen tot de sleutels van de ontwikkelaar en beginnen met het pushen van kwaadaardige updates. Als je de eigenaar van de app store niet vertrouwt, is dat jammer. Zij zijn nu eigenaar van de ondertekeningssleutel en kunnen uw app wijzigen zonder uw medeweten, als ze dat willen. De overheid kan de eigenaar van de appstore dwingen om ook je app te wijzigen. In het geval van Google zal het bedrijf waarschijnlijk beter presteren op het gebied van opslagbeveiliging dan de meeste app-ontwikkelaars. Maar nogmaals, het is moeilijk voor te stellen dat niet-Google-winkels dit omarmen.

Google heeft enkele concessies gedaan om de zorgen hierover weg te nemen. Ontwikkelaars kunnen een lokale kopie bewaren van de ondertekeningssleutel die ze uploaden naar Google, waardoor ze geldige updates kunnen maken die bovenop Google Play-versies kunnen worden geïnstalleerd. Ontwikkelaars kunnen ook ondertekende “distributie-APK’s” downloaden van de Google Play Developer Console. Dit zijn ouderwetse universele APK’s die kunnen worden geüpload naar andere app-stores. Als je je zorgen maakt dat Google je app wijzigt zonder je toestemming, zegt Google ‘Nieuwe optie’Transparantie symboolMet deze functie kunnen ontwikkelaars controleren of de hashes in de code van een gedownloade app overeenkomen met wat ze hebben geüpload.

Vanaf augustus zijn app-bundels verplicht voor nieuwe apps. Google zegt voorlopig dat “bestaande apps momenteel zijn vrijgesteld” van de app-bundelvereiste. We zullen de aanwezigheid van het woord “momenteel” beschouwen als een goede indicator voor toekomstige plannen.

Voor Google zijn Android-app-bundels een groot probleem. Op Google I/O 2018 zei het bedrijf dat als elke app zou worden geconverteerd naar pakketten, Google 10 petabyte aan bandbreedte zou besparen. in een dag, wat een duizelingwekkend getal is dat de schaal aangeeft waarin de Play Store werkt. Voor degenen onder ons die zich niets aantrekken van de bandbreedterekeningen van Google, is de 15 procent ruimtebesparing echt de moeite waard om het hele APK-systeem te veranderen en meer stroom naar de Play Store en Google-servers te verplaatsen?

Fotolijst door de Google

READ  Dit zijn de landen die het meeste risico lopen op een heropleving van COVID-19 dankzij minder vaccinaties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *