Android-applikationspaket
Android Package (APK) [1] är ett Android-applikationsfilformat som används av Android-operativsystemet och många andra Android-baserade operativsystem för att distribuera och installera mobilappar , mobilspel och mellanprogram .
APK-filer kan genereras och signeras från Android App Bundle [2] .masyn
Översikt
En APK liknar andra applikationspaket som APPX på Microsoft Windows eller Deb på Debian-baserade operativsystem. För att skapa en APK-fil kompileras ett Android-program först med hjälp av verktyg som Android Studio [3] eller Visual Studio, och sedan paketeras alla dess delar i en enda containerfil. En APK-fil innehåller all länkad kod (som .dex-filer ), såväl som resurser, tillgångar, certifikat och en manifestfil. Som är fallet med många filformat kan APK-filer ha vilket namn du väljer, men filtillägget [4] [5] [6] kan behövas för att känna igen filen som en Android-applikation .
De flesta Android-säkerhetsimplementeringar tillåter bara användare att manuellt installera APK-filer efter att de har aktiverat inställningen "Okända källor", som tillåter installation från andra källor än betrodda som Google Play . Detta görs för att förhindra oerfarna användare från olika klasser av spionprogram och trojaner som maskerar sig som legitima applikationer. Att aktivera funktionen för installation från okända källor kan göras av många anledningar, till exempel under apputveckling, för att installera appar som inte finns i butiken eller för att installera en äldre version av en befintlig app [7] .
Använd på andra operativsystem
Vid ett event under tillkännagivandet av Windows 11 i juni 2021 demonstrerade Microsoft ett nytt Windows-undersystem för Android ( Windows Subsystem for Android, WSA ), som implementerar stöd för Android Open Source Project (AOSP) och kommer att tillåta användare att köra Android-applikationer på Windows. Microsoft har bekräftat att användare kommer att kunna ladda ner Android-sideload-appar (inte officiellt släppta) samt installera dem [8] .
Innehållet i en paketerad applikation
APK-fil är ett ZIP - arkiv som vanligtvis innehåller följande filer och kataloger:
- Katalog META-INF:
- MANIFEST.MF: manifestfil
- Ansökningsintyg.
- CERT.SF: Lista över resurser och SHA-1- signatur för motsvarande strängar i MANIFEST.MF; Till exempel:Signaturversion: 1.0
Skapad av: 1.0 (Android)
SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
...
Namn: res/layout/exchange_component_back_bottom.xml
SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
Namn: res/drawable-hdpi/icon.png
SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
- lib: katalog som innehåller kompilerad plattformsberoende kod; lib är uppdelat i flera underkataloger:
- armeabi-v7a: kompilerad kod endast för alla processorer baserade på ARMv7 och högre
- arm64-v8a: kompilerad kod endast för alla processorer baserade på ARMv8 arm64 och högre [9]
- x86: kompilerad kod endast för x86 -processorer
- x86_64: kompilerad kod endast för x86-64 -processorer
- mipsoch armeabiutfasad sedan NDK r17 [10] [11]
- res: katalog som innehåller resurser som inte är kompilerade till resources.arsc (se nedan).
- assets: katalog som innehåller programtillgångar som kan hämtas med AssetManager.
- AndroidManifest.xml: En valfri Android-manifestfil som beskriver programmets namn, version, behörigheter och bibliotek. Den här filen kan vara i Android binärt XML-format, som kan konverteras till mänskligt läsbar XML-text med hjälp av verktyg som AXMLPrinter2, apktool eller Androguard.
- classes.dex: Klasser kompilerade till ett dalvik körbart filformat som förstås av Dalviks virtuella maskin och Android runtime .
- resources.arsc: En fil som innehåller förkompilerade resurser, till exempel binär XML.
Anteckningar
- ↑ Grundläggande om tillämpning . android utvecklare . Hämtad 3 december 2018. Arkiverad från originalet 21 november 2020.
- ↑ Peters. Google går bort från APK-filer i Play Butik . The Verge (30 juni 2021). Hämtad 15 augusti 2021. Arkiverad från originalet 4 augusti 2021.
- ↑ Application Studio . android utvecklare . Hämtad 11 september 2021. Arkiverad från originalet 12 september 2021.
- ↑ Inuti Android Application Framework (video). Google Sites . Hämtad 11 september 2021. Arkiverad från originalet 24 december 2011. (obestämd)
- ↑ Hatem Ben Yacoub. Tips: Hur man installerar apk-filer på Android Emulator . Öppna Ha Magazine (20 april 2018). Hämtad 17 juli 2021. Arkiverad från originalet 26 maj 2012. (obestämd)
- ↑ Strukturen för Android-paketfiler (APK) . Telefon SDN . OPhone Software Developer Network (17 november 2010). Arkiverad från originalet den 8 februari 2011. (obestämd)
- ↑ Okända källor: Allt du behöver veta! . Android Central (27 juli 2018). Hämtad 11 september 2021. Arkiverad från originalet 1 september 2021. (obestämd)
- ↑ Parmar. Microsoft bekräftar att Android-appar kommer att köras på alla Windows 11-datorer . Senaste Windows (27 juni 2021). Hämtad 28 juni 2021. Arkiverad från originalet 27 juni 2021. (obestämd)
- ↑ ABI Management | android utvecklare . developer.android.com _ Hämtad : 2018-06-16.11 . 2022 . Arkiverad 31 maj 2019. (obestämd)
- ↑ Android ABIs | Android NDK . android utvecklare . — "Notera: Historiskt sett stödde NDK ARMv5 (armeabi) och 32-bitars och 64-bitars MIPS, men stödet för dessa ABI togs bort i NDK r17." Hämtad 14 augusti 2020. Arkiverad från originalet 8 april 2019.
- ↑ Dan. Changelog r17 (engelska) . GitHub (5 september 2018). - "Stöd för ARMv5 (armeabi), MIPS och MIPS64 har tagits bort. Ett försök att bygga någon av dessa ABI kommer att resultera i ett fel." Hämtad 14 augusti 2020. Arkiverad från originalet 28 augusti 2020.