close

Android applikationspakke

Gå til navigation Gå til søg
apk
APK-formatikon (2014-2019).png
Udvidelse ..apk, .xapk, .apks, .apkm
MIME -type application/vnd.android.package-archive
Udvikler Google
Formattype Pakket applikation
Indeholder Android : Mobile Apps
Windows 11 : Desktop Apps til WSA
Udvidet fra KRUKKE

Android Package (APK) [1]  er et Android-applikationsfilformat , der bruges af Android-operativsystemet og mange andre Android-baserede operativsystemer til distribution og installation af mobilapps , mobilspil og middleware .

APK-filer kan genereres og signeres fra Android App Bundle [2] .masyn

Oversigt

En APK ligner andre applikationspakker såsom APPXMicrosoft Windows eller Deb på Debian-baserede operativsystemer. For at oprette en APK-fil kompileres et Android-program først ved hjælp af værktøjer som Android Studio [3] eller Visual Studio, og derefter pakkes alle dets dele i en enkelt containerfil. En APK indeholder al den linkede kode (såsom .dex-filer ) samt ressourcer, aktiver, certifikater og en manifestfil. Som det er tilfældet med mange filformater, kan APK-filer have et hvilket som helst navn, du vælger, men filtypenavnet [4] [5] [6] kan være nødvendigt for at genkende filen som en Android-applikation .

De fleste Android-sikkerhedsimplementeringer tillader kun brugere at installere APK-filer manuelt, efter at de har aktiveret indstillingen "Ukendte kilder", som tillader installation fra andre kilder end betroede kilder som Google Play . Dette gøres for at forhindre uerfarne brugere fra forskellige klasser af spyware og trojanske heste , der udgiver sig som legitime applikationer. Aktivering af funktionen installation fra ukendte kilder kan udføres af mange årsager, såsom under appudvikling, for at installere apps, der ikke er i butikken, eller for at installere en ældre version af en eksisterende app [7] .

Brug på andre operativsystemer

Ved en begivenhed under annonceringen af ​​Windows 11 i juni 2021 demonstrerede Microsoft et nyt Windows-undersystem til Android ( Windows Subsystem for Android, WSA ), som implementerer understøttelse af Android Open Source Project (AOSP) og vil give brugere mulighed for at køre Android-applikationer på Windows. Microsoft har bekræftet, at brugere vil være i stand til at downloade Android sideload-apps (ikke officielt udgivet) samt installere dem [8] .

Indhold af en pakket applikation

APK-fil er et ZIP - arkiv , der normalt indeholder følgende filer og mapper:

  • Katalog META-INF:
    • MANIFEST.MF: manifestfil
    • Ansøgningsbevis.
    • CERT.SF: Liste over ressourcer og SHA-1- signatur af tilsvarende strenge i MANIFEST.MF; For eksempel:
      Signaturversion: 1.0
      Skabt af: 1.0 (Android)
      SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
      ...
      Navn: res/layout/exchange_component_back_bottom.xml
      SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
      Navn: res/drawable-hdpi/icon.png
      SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
      
  • lib: bibliotek indeholdende kompileret platformafhængig kode; lib er opdelt i flere undermapper:
    • armeabi-v7a: kun kompileret kode for alle processorer baseret på ARMv7 og nyere
    • arm64-v8a: kun kompileret kode for alle processorer baseret på ARMv8 arm64 og derover [9]
    • x86: kun kompileret kode til x86 -processorer
    • x86_64: kun kompileret kode til x86-64 -processorer
    • mipsog armeabiudfaset siden NDK r17 [10] [11]
  • res: bibliotek, der indeholder ressourcer, der ikke er kompileret i resources.arsc (se nedenfor).
  • assets: bibliotek, der indeholder applikationsaktiver, der kan hentes med AssetManager.
  • AndroidManifest.xml: En valgfri Android-manifestfil, der beskriver applikationens navn, version, tilladelser og biblioteker. Denne fil kan være i Android binært XML-format, som kan konverteres til menneskelæselig XML-tekst ved hjælp af værktøjer som AXMLPrinter2, apktool eller Androguard.
  • classes.dex: Klasser kompileret i et dalvik eksekverbart filformat forstået af Dalvik virtuelle maskine og Android runtime .
  • resources.arsc: En fil, der indeholder prækompilerede ressourcer, såsom binær XML.

Noter

  1. Grundlæggende  om anvendelse . android udviklere . Hentet 3. december 2018. Arkiveret fra originalen 21. november 2020.
  2. Peters. Google er på vej væk fra APK'er i Play  Butik . The Verge (30. juni 2021). Hentet 15. august 2021. Arkiveret fra originalen 4. august 2021.
  3. Application Studio  . android udviklere . Hentet 11. september 2021. Arkiveret fra originalen 12. september 2021.
  4. Inde i Android Application Framework (video). Google Sites . Hentet 11. september 2021. Arkiveret fra originalen 24. december 2011.
  5. Hatem Ben Yacoub. Tips: Sådan installeres apk-filer på Android Emulator . Åbn Ha Magazine (20. april 2018). Hentet 17. juli 2021. Arkiveret fra originalen 26. maj 2012.
  6. Strukturen af ​​Android-pakkefiler (APK) . Telefon SDN . OPhone Software Developer Network (17. november 2010). Arkiveret fra originalen den 8. februar 2011.
  7. Ukendte kilder: Alt hvad du behøver at vide! . Android Central (27. juli 2018). Hentet 11. september 2021. Arkiveret fra originalen 1. september 2021.
  8. Parmar. Microsoft bekræfter, at Android-apps vil køre på alle Windows 11-pc'er . Seneste Windows (27. juni 2021). Hentet 28. juni 2021. Arkiveret fra originalen 27. juni 2021.
  9. ABI Management | android udviklere . developer.android.com _ Hentet : 2018-06-16.11 . 2022 . Arkiveret 31. maj 2019.
  10. Android ABI'er | Android  NDK . android udviklere . — "Bemærk: Historisk set understøttede NDK ARMv5 (armeabi) og 32-bit og 64-bit MIPS, men understøttelse af disse ABI'er blev fjernet i NDK r17." Hentet 14. august 2020. Arkiveret fra originalen 8. april 2019.
  11. Dan. Changelog r17  (engelsk) . GitHub (5. september 2018). - "Støtte til ARMv5 (armeabi), MIPS og MIPS64 er blevet fjernet. Forsøg på at bygge nogen af ​​disse ABI'er vil resultere i en fejl." Hentet 14. august 2020. Arkiveret fra originalen 28. august 2020.