Om du är ett hardcore Android-fan är chansen storstark att du ivrigt ska prova nya teman, anpassade ROM och alla sådana lägen för din enhet. En av de viktigaste förvirringspunkterna är terminologin som är förknippad med dessa mods - något som är ganska bekant för utvecklarna, men inte så mycket för nybörjare. Två av de vanligaste orden i anpassade ROM och teman är "avkodade" och "zipalign". Några dagar tillbaka täckte vi 'deodexed' i detalj. I den här artikeln kommer vi att utforska vad zipalign betyder och hur APK: er kan riktas zip.

VAD ÄR ZIPALIGN?
zipalign är ett arkiveringsinstrument som introduceratsförsta gången med 1,6 Android SDK (programvaruutvecklingspaket). Det optimerar hur ett Android-applikationspaket (APK) paketeras. Genom att göra det kan Android-operativsystemet interagera med applikationen mer effektivt och har därför potential att göra applikationen och totalt sett hela systemet mycket snabbare. Exekveringstiden minimeras för zip-anpassade applikationer, vilket resulterar i mindre mängd RAM-konsumtion när du kör APK.
Så hur fungerar det exakt?
I en Android-miljö, datafilersom lagras i varje applikationspaket nås av flera processer, till exempel kommer installationsprogrammet att läsa data manifestet för att bestämma tillhörande behörigheter; systemservern kan läsa dessa resurser av flera skäl, som att visa aviseringar; hemmaprogrammet, till exempel, kommer att läsa resurser för att få applikationens namn och ikon. Eftersom Android är baserat på en riktig driftsinfrastruktur med flera uppgifter, åtkomst till dessa filer kontinuerligt och upprepade gånger. Slutligen, men inte minst, läser själva applikationen manifestdata.
Eftersom Android är Linux-baserat spelar minneskartläggning anyckelroll i effektiv hantering av processer. I huvudsak är den optimala anpassningen för Android OS: s resurshanteringskod 4-byte gränser. Vad detta innebär är att om APK: er är mappkartade till 4-byte gränser och anpassas i enlighet med detta kommer OS inte att behöva "läsa igenom" hela applikationspaketet för att komma till önskat data manifest. Varje systemprocess vet i förväg var man ska leta efter de önskade resurserna och kommer därför att utföra mycket smidigare och snabbare.
Sammanfattning av det, ziplinjering av en APK resulterar i alltokomprimerad data i paketet som ska justeras på 4-byte gränser, vilket gör att alla delar kan nås direkt med minneskartan. RAM-förbrukningen sänks under körning eftersom frågekoden inte behöver läsa igenom hela applikationspaketet.
NEDDELAR AV OJÅNGERADE APK: er
Helt förståeligt skulle situationen vara reserveradför ojusterade applikationspaket. Resursläsning skulle vara långsam och minnesanvändningen skulle vara i spektrumets högre ände. Det beror också på hur många ojusterade applikationer som finns. Till exempel, om färre antal applikationer med en ojusterad hemmaprogram ser du långsammare lanseringstider för applikationer. Detta är det bästa fallet. I värsta fall kommer att ha ett antal ojusterade applikationer att resultera i att systemet upprepade gånger startar och dödar processer, kämpar med förseningar och enormt batteriladdning.
HUR GÖR DU DET?
Som nämnts tidigare blev zipalign-verktyget en del av Android SDK från 1.6 och framåt. Det finns under 'verktyg' -mappen i SDK. För att använda det, kör bara kommandot:
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
var infile.apk är källfilen, och outfile.apk är utgångsfilen.
Dessutom kan du också verifiera justeringen av en APK-fil med följande kommando:
zipalign -c -v <alignment> existing.apk
var existing.apk kan vara vilket programpaket du behöver för att verifieras. Även <Inriktnings> taggen i båda kommandona måste vara en integreradvärde (annars kommer kommandot att returnera ogiltigt). Detta värde, även om det kan vara valfritt heltal, MÅSTE alltid vara 4, vilket skulle ge 32-bitars justering. Något annat värde och det kommer inte att göra någonting.
Slutligen, för de flaggor som används i dessa kommandon,
- -f : skriver över befintliga outfile.zip
- -v : ger verbosignal
- -c : kommer att bekräfta anpassningen av en given fil
FÖRSIKTIGHETSORD: zipalign-operation får endast utföras efter du har signerat APK-filen med din privatanyckel. Om zip-inriktad innan signering, kommer signaturproceduren att störa justeringen. Samma gäller för alla andra ändringar, tillägg eller borttagningar till APK-filen. Alla ändringar efter att ha kört zipalign ångrar justeringen.
Varning: Den här guiden är endast avsedd för utbildningsändamål. Detta är inte på något sätt ett ersättare för Android-utvecklarverktygssatsen och är inte heller avsedd att användas för utvecklingsändamål. AddictiveTips ger inget stöd för materialet som presenteras här.
kommentarer