Hvad er ARSC-filformatet?
En .arsc-fil er en kompileret Android-ressourcetabel. .arsc-filer bruges af udviklere til at gemme applikationsressourcer i en kompakt binær form, som operativsystemet kan læse effektivt under kørsel. .arsc-ressourcefiler indeholder statiske data - strenge, dimensioner, farver, stilarter og layoutkonfigurationsværdier - som ikke ændres under applikationens kørselsproces. I modsætning til rå kildeaktiver indlejrer en .arsc-fil ikke billeder direkte; binære drawables gemmes som separate poster andre steder i pakken. Kildekode og ressourcefiler kompileres af aapt2 til en enkelt installerbar .apk-pakke. Den resulterende fil kan derefter bruges til at installere den givne applikation på en Android-enhed.
Inde i en .apk (eller .aab) hedder den kompilerede tabel altid resources.arsc og gemmes ukomprimeret - siden Android 11 hukommelses-mapper (memory-maps) runtime-miljøet den direkte i stedet for at dekomprimere den, så den skal være 4-byte justeret. Alle softwareudviklingsmiljøer bruger en form for ressourcefiler, men kun Android bruger .arsc-ressourcetabelformatet. Ressourcefiler er designet til at kunne tilgås overalt i projektet - ressourcer kan refereres gennem hele kildekoden via R.*-konstanter såsom R.string.app_name. En sådan tilgang gør det muligt at ændre kodebasen uden at ændre hver linje, hvor en given ressource refereres. Den kompilerede tabel kan også afkodes fra en pakket applikation ved hjælp af værktøjer som apktool eller APK Analyzer, der er indbygget i Android Studio.
Sikkerhed og tryghed
RISIKO: LOWresources.arsc er inerte data - ingen kode, ingen makroer - så selve filen er ufarlig at inspicere. Den eneste reelle bekymring er den APK, den kom fra: dekompilering af en app kan være i strid med dens licens, og manuel redigering af tabellen og derefter gen-signering af en APK er måden, hvorpå malware nogle gange ompakkes, så behandl modificerede APK'er fra upålidelige kilder med mistro.
Formatdetaljer
kort fortaltProgrammer der åbner ARSC-filer
Tekniske detaljer
dyb specifikation| Filkodning | Binær, little-endian |
| Magic bytes | 02 00 0C 00 ved offset 0 (ResChunk_header: type=0x0002 RES_TABLE_TYPE, header size=0x000C) |
| MIME-type | application/octet-stream |
| Container | Gemt ukomprimeret (ZIP STORED-metode, ikke DEFLATE) inde i et APK- eller AAB-arkiv |
| Typisk filstørrelse | 10 KB - 5 MB, afhængigt af antallet af sprogversioner, skærmtætheder og streng-poolens størrelse |
| Internt filnavn | resources.arsc (fast navn i APK/AAB ZIP-filen) |
| Ressource-id-format | 32-bit værdi 0xPPTTEEEE: 8-bit pakke, 8-bit type, 16-bit post; understøtter op til 255 typer og 65.535 poster pr. type |
| Top-niveau struktur | RES_TABLE-chunk indeholdende en global streng-pool plus én pakke-chunk pr. app, der hver indeholder type-spec og type-underchunks |
| Konfigurationsdimensioner | Mapper hvert ressource-id til værdier på tværs af flere enhedskonfigurationer: sprog/lokalitet, skærmtæthed, orientering, mindste bredde, API-niveau med mere |
| Sparse-kodning | Klassisk tæt type-post-tabel som standard; valgfri sparse-kodning tilgængelig siden Android 14 (SDK 34, 2023) for at reducere størrelsen |
| Runtime-adgang | Hukommelses-mappet (mmap) under kørsel siden Android 11; skal være 4-byte justeret og gemt ukomprimeret for at tillade zero-copy adgang |
| Integritetsbeskyttelse | Ingen indbygget tjeksum; den omsluttende APK v2/v3-signaturblok dækker hele arkivet inklusive resources.arsc |
| Compiler-værktøjskæde | Genereret af aapt (forældet) eller aapt2 (nuværende Android-buildværktøjer) fra res/values XML-kildefiler |
| Tilknyttet platform | Kun Android; bruges ikke af iOS, Windows eller andre mobile platforme |
| Udvikler | Google / Android Open Source Project (AOSP) |
| Udgivet | 2008 (Android 1.0, part of the APK/aapt toolchain) |
| Seneste version | AAPT2 binary table (current with the Android build tools); sparse-encoding option added Android 14 / SDK 34, 2023 |
| Åben standard | Ja · royaltyfri |
| Specifikation | android.googlesource.com |
ARSC-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om ARSC-filer.