Vad är filformatet ARSC?
En .arsc-fil är en kompilerad Android-resurstabell. .arsc-filer används av utvecklare för att lagra applikationsresurser i en kompakt binär form som operativsystemet kan läsa effektivt vid körning. .arsc-resursfiler innehåller statiska data - strängar, dimensioner, färger, stilar och layoutkonfigurationsvärden - som inte ändras under applikationens körningsprocess. Till skillnad från råa källtillgångar bäddar en .arsc-fil inte in bilder direkt; binära drawables lagras som separata poster på andra ställen i paketet. Källkod och resursfiler kompileras av aapt2 till ett enda installerbart .apk-paket. Den resulterande filen kan sedan användas för att installera den givna applikationen på en Android-enhet.
Inuti en .apk (eller .aab) heter den kompilerade tabellen alltid resources.arsc och lagras okomprimerad - sedan Android 11 mappar systemet den direkt i minnet (memory-mapping) istället för att dekomprimera den, så den måste vara 4-byte-justerad. Alla programutvecklingsmiljöer använder någon form av resursfiler, men endast Android använder formatet .arsc för resurstabeller. Resursfiler är utformade för att kunna nås var som helst i projektet - resurser kan refereras i hela källkoden via R.*-konstanter såsom R.string.app_name. Ett sådant tillvägagångssätt gör att källkoden kan modifieras utan att man behöver ändra varje rad där en viss resurs refereras. Den kompilerade tabellen kan också avkodas från en paketerad applikation med verktyg som apktool eller APK Analyzer som är inbyggt i Android Studio.
Säkerhet & trygghet
RISK: LOWresources.arsc är inerta data - ingen kod, inga makron - så själva filen är ofarlig att inspektera. Det enda verkliga orosmomentet är APK-filen den kom ifrån: dekompilering av en app kan strida mot dess licens, och att manuellt redigera tabellen och sedan signera om en APK är hur skadlig kod ibland paketeras om, så hantera modifierade APK-filer från okända källor med misstänksamhet.
Formatdetaljer
i ett nötskalProgram som öppnar ARSC-filer
Tekniska detaljer
djup specifikation| Filkodning | Binär, little-endian |
| Magic bytes | 02 00 0C 00 vid offset 0 (ResChunk_header: type=0x0002 RES_TABLE_TYPE, header size=0x000C) |
| MIME-typ | application/octet-stream |
| Container | Lagras okomprimerad (ZIP STORED-metod, inte DEFLATE) inuti ett APK- eller AAB-arkiv |
| Typisk filstorlek | 10 KB - 5 MB, beroende på antal språk, skärmtätheter och strängpoolens storlek |
| Internt filnamn | resources.arsc (fast namn inuti APK/AAB ZIP) |
| Resurs-ID-format | 32-bitars värde 0xPPTTEEEE: 8-bitars paket, 8-bitars typ, 16-bitars post; stöder upp till 255 typer och 65 535 poster per typ |
| Toppnivåstruktur | RES_TABLE-chunk som innehåller en global strängpool plus en paket-chunk per app, där varje del innehåller type-spec och type-underchunks |
| Konfigurationsdimensioner | Mappar varje resurs-ID till värden över flera enhetskonfigurationer: språk/lokal, skärmtäthet, orientering, minsta bredd, API-nivå med mera |
| Gles kodning | Klassisk tät typ-post-tabell som standard; valfri gles kodning (sparse encoding) tillgänglig sedan Android 14 (SDK 34, 2023) för att minska storleken |
| Körningsåtkomst | Minnesmappad (mmap) vid körning sedan Android 11; måste vara 4-byte-justerad och lagrad okomprimerad för att tillåta noll-kopieringsåtkomst |
| Integritetsskydd | Ingen inbyggd kontrollsumma; den omslutande APK v2/v3-signaturblocket täcker hela arkivet inklusive resources.arsc |
| Verktygskedja för kompilering | Genererad av aapt (föråldrad) eller aapt2 (nuvarande Android-byggverktyg) från res/values XML-källfiler |
| Associerad plattform | Endast Android; används inte av iOS, Windows eller andra mobila plattformar |
| Utvecklare | Google / Android Open Source Project (AOSP) |
| Släppt | 2008 (Android 1.0, part of the APK/aapt toolchain) |
| Senaste version | AAPT2 binary table (current with the Android build tools); sparse-encoding option added Android 14 / SDK 34, 2023 |
| Öppen standard | Ja · royaltyfri |
| Specifikation | android.googlesource.com |
ARSC-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om ARSC-filer.