Pachetul de aplicații Android
Pachetul Android (APK) [1] este un format de fișier de aplicație Android utilizat de sistemul de operare Android și de multe alte sisteme de operare bazate pe Android pentru distribuirea și instalarea de aplicații mobile , jocuri mobile și middleware .
Fișierele APK pot fi generate și semnate din Android App Bundle [2] .masyn
Prezentare generală
Un APK este similar cu alte pachete de aplicații, cum ar fi APPX pe Microsoft Windows sau Deb pe sistemele de operare bazate pe Debian. Pentru a crea un fișier APK, un program Android este mai întâi compilat folosind instrumente precum Android Studio [3] sau Visual Studio, iar apoi toate părțile sale sunt împachetate într-un singur fișier container. Un APK conține tot codul conectat (cum ar fi fișierele .dex ), precum și resurse, materiale, certificate și un fișier manifest. Ca și în cazul multor formate de fișiere, fișierele APK pot avea orice nume pe care îl alegeți, dar extensia de fișier [4] [5] [6] poate fi necesară pentru a recunoaște fișierul ca aplicație Android .
Majoritatea implementărilor de securitate Android permit utilizatorilor să instaleze manual fișiere APK numai după ce au activat setarea „Surse necunoscute”, care permite instalarea din alte surse decât cele de încredere, cum ar fi Google Play . Acest lucru se face pentru a preveni utilizatorii neexperimentați din diferite clase de spyware și troieni care se mascadă drept aplicații legitime. Activarea funcției de instalare din surse necunoscute se poate face din mai multe motive, cum ar fi în timpul dezvoltării aplicației, pentru a instala aplicații care nu sunt în magazin sau pentru a instala o versiune mai veche a unei aplicații existente [7] .
Utilizare pe alte sisteme de operare
La un eveniment din timpul anunțării Windows 11 în iunie 2021, Microsoft a demonstrat un nou subsistem Windows pentru Android ( Windows Subsystem for Android, WSA ), care implementează suport pentru Android Open Source Project (AOSP) și va permite utilizatorilor să ruleze aplicații Android pe Windows. Microsoft a confirmat că utilizatorii vor putea descărca aplicații Android sideload (neeliberate oficial), precum și să le instaleze [8] .
Conținutul unei aplicații împachetate
Fișierul APK este o arhivă ZIP care conține de obicei următoarele fișiere și directoare:
- Director META-INF:
- MANIFEST.MF: fișier manifest
- Certificat de aplicare.
- CERT.SF: Lista resurselor și semnătura SHA-1 a șirurilor corespunzătoare în MANIFEST.MF; De exemplu:Versiune de semnătură: 1.0
Creat de: 1.0 (Android)
SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
...
Nume: res/layout/exchange_component_back_bottom.xml
SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
Nume: res/drawable-hdpi/icon.png
SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
- lib: director care conține cod compilat dependent de platformă; lib este împărțit în mai multe subdirectoare:
- armeabi-v7a: cod compilat numai pentru toate procesoarele bazate pe ARMv7 și mai sus
- arm64-v8a: cod compilat numai pentru toate procesoarele bazate pe ARMv8 arm64 și mai sus [9]
- x86: cod compilat numai pentru procesoare x86
- x86_64: cod compilat numai pentru procesoare x86-64
- mipsși armeabidepreciat de la NDK r17 [10] [11]
- res: directorul care conține resurse care nu sunt compilate în resources.arsc (vezi mai jos).
- assets: directorul care conține activele aplicației care pot fi preluate cu AssetManager.
- AndroidManifest.xml: un fișier manifest opțional Android care descrie numele, versiunea, permisiunile și bibliotecile aplicației. Acest fișier poate fi în format binar XML Android, care poate fi convertit în text XML care poate fi citit de om folosind instrumente precum AXMLPrinter2, apktool sau Androguard.
- classes.dex: Clasele compilate într- un format de fișier executabil dalvik înțeles de mașina virtuală Dalvik și de rularea Android .
- resources.arsc: Un fișier care conține resurse precompilate, cum ar fi XML binar.
Note
- ↑ Fundamentele aplicației . dezvoltatori Android . Preluat la 3 decembrie 2018. Arhivat din original la 21 noiembrie 2020.
- ↑ Peters. Google se îndepărtează de APK-urile din Magazinul Play . The Verge (30 iunie 2021). Preluat la 15 august 2021. Arhivat din original la 4 august 2021.
- ↑ Application Studio . dezvoltatori Android . Preluat la 11 septembrie 2021. Arhivat din original la 12 septembrie 2021.
- ↑ În cadrul Android Application Framework (video). Site-uri Google . Preluat la 11 septembrie 2021. Arhivat din original la 24 decembrie 2011. (nedefinit)
- ↑ Hatem Ben Yacoub. Sfaturi: Cum să instalați fișiere apk pe Android Emulator . Open Ha Magazine (20 aprilie 2018). Preluat la 17 iulie 2021. Arhivat din original la 26 mai 2012. (nedefinit)
- ↑ Structura fișierelor pachetului Android (APK) . SDN telefon . OPhone Software Developer Network (17 noiembrie 2010). Arhivat din original pe 8 februarie 2011. (nedefinit)
- ↑ Surse necunoscute: Tot ce trebuie să știi! . Android Central (27 iulie 2018). Preluat la 11 septembrie 2021. Arhivat din original la 1 septembrie 2021. (nedefinit)
- ↑ Parmar. Microsoft confirmă că aplicațiile Android vor rula pe toate computerele cu Windows 11 . Windows Latest (27 iunie 2021). Preluat la 28 iunie 2021. Arhivat din original la 27 iunie 2021. (nedefinit)
- ↑ ABI Management | dezvoltatori Android . developer.android.com _ Preluat : 2018-06-16.11 . 2022 . Arhivat 31 mai 2019. (nedefinit)
- ↑ ABI-uri Android | Android NDK . dezvoltatori Android . — „Notă: istoric, NDK a acceptat ARMv5 (armeabi) și MIPS pe 32 de biți și 64 de biți, dar suportul pentru aceste ABI-uri a fost eliminat în NDK r17.” Preluat la 14 august 2020. Arhivat din original la 8 aprilie 2019.
- ↑ Dan. Jurnalul de modificări r17 (engleză) . GitHub (5 septembrie 2018). - „Suportul pentru ARMv5 (armeabi), MIPS și MIPS64 a fost eliminat. Încercarea de a construi oricare dintre aceste ABI va avea ca rezultat o eroare.” Preluat la 14 august 2020. Arhivat din original la 28 august 2020.