Hva er ARSC-filformatet?
En .arsc-fil er en kompilert Android-ressurstabell. .arsc-filer brukes av utviklere for å lagre applikasjonsressurser i en kompakt binær form som operativsystemet kan lese effektivt under kjøring. .arsc-ressursfiler inneholder statiske data - strenger, dimensjoner, farger, stiler og layout-konfigurasjonsverdier - som ikke endres mens applikasjonen kjører. I motsetning til rå kildematerialer, bygger ikke en .arsc-fil inn bilder direkte; binære drawables lagres som separate oppføringer andre steder i pakken. Kildekode og ressursfiler kompileres av aapt2 til en enkelt installerbar .apk-pakke. Den resulterende filen kan deretter brukes til å installere den gitte applikasjonen på en Android-enhet.
Inni en .apk (eller .aab), er den kompilerte tabellen alltid navngitt resources.arsc og lagret ukomprimert - siden Android 11 minne-mappes den direkte av kjøretidsmiljøet i stedet for å dekomprimeres, så den må være 4-byte justert. Alle programvareutviklingsmiljøer bruker en form for ressursfiler, men bare Android bruker .arsc-ressurstabellformatet. Ressursfiler er designet for å være tilgjengelige hvor som helst i prosjektet - ressurser kan refereres til gjennom hele kildekoden via R.*-konstanter som R.string.app_name. En slik tilnærming gjør at kodebasen kan endres uten å måtte endre hver linje der en gitt ressurs er referert. Den kompilerte tabellen kan også dekodes fra en pakket applikasjon ved hjelp av verktøy som apktool eller APK Analyzer som er innebygd i Android Studio.
Sikkerhet og trygghet
RISIKO: LOWresources.arsc er inerte data - ingen kode, ingen makroer - så selve filen er ufarlig å inspisere. Den eneste reelle bekymringen er APK-en den kom fra: dekompilering av en app kan være i strid med lisensen, og manuell redigering av tabellen etterfulgt av re-signering av en APK er hvordan skadevare noen ganger pakkes om, så behandle modifiserte APK-er fra upålitelige kilder med mistenksomhet.
Formatdetaljer
i et nøtteskallProgrammer som åpner ARSC-filer
Tekniske detaljer
dyp spesifikasjon| Filkoding | 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 |
| Beholder | Lagret ukomprimert (ZIP STORED-metode, ikke DEFLATE) inni et APK- eller AAB-arkiv |
| Typisk filstørrelse | 10 KB - 5 MB, avhengig av antall språk, skjermtettheter og størrelsen på streng-poolen |
| Internt filnavn | resources.arsc (fast navn inni APK/AAB ZIP) |
| Ressurs-ID-format | 32-bit verdi 0xPPTTEEEE: 8-bit pakke, 8-bit type, 16-bit oppføring; støtter opptil 255 typer og 65 535 oppføringer per type |
| Toppnivå-struktur | RES_TABLE-chunk som inneholder en global streng-pool pluss én pakke-chunk per app, som hver inneholder type-spec og type-under-chunks |
| Konfigurasjonsdimensjoner | Kobler hver ressurs-ID til verdier på tvers av flere enhetskonfigurasjoner: språk/lokalitet, skjermtetthet, orientering, minste bredde, API-nivå med mer |
| Sparse-koding | Klassisk tett type-oppføringstabell som standard; valgfri sparse-koding tilgjengelig siden Android 14 (SDK 34, 2023) for å redusere størrelsen |
| Kjøretidstilgang | Minne-mappet (mmap) under kjøring siden Android 11; må være 4-byte justert og lagret ukomprimert for å tillate zero-copy tilgang |
| Integritetsbeskyttelse | Ingen innebygd sjekksum; den omsluttende APK v2/v3-signaturblokken dekker hele arkivet inkludert resources.arsc |
| Kompilator-verktøykjede | Generert av aapt (foreldet) eller aapt2 (nåværende Android-byggverktøy) fra res/values XML-kildefiler |
| Tilknyttet plattform | Kun Android; brukes ikke av iOS, Windows eller andre mobilplattformer |
| Utvikler | Google / Android Open Source Project (AOSP) |
| Utgitt | 2008 (Android 1.0, part of the APK/aapt toolchain) |
| Siste versjon | AAPT2 binary table (current with the Android build tools); sparse-encoding option added Android 14 / SDK 34, 2023 |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | android.googlesource.com |
ARSC-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om ARSC-filer.