android studiozipalignツールの最適化の使用方法



Android Studio How Use Zipalign Tool Optimization



1.zipalignの概要

Android SDKには、パッケージ化されたアプリケーションを最適化できる「zipalign」ツールが含まれています。アプリケーションでzipalignを実行すると、実行時のAndroidとアプリケーション間の対話がより効率的になります。したがって、この方法では、アプリケーションとシステム全体をより高速に実行できます。最適化されたバージョンを取得するには、新規および公開されたプログラムでzipalignツールを使用することを強くお勧めします。

公式ドキュメントの説明によると、AndroidシステムのアプリケーションデータはAPKファイルに保存されており、複数のプロセスから同時にアクセスできます。インストールプロセスには、次の手順が含まれます。



1.インストーラーは、各apkのマニフェストファイルを介して、現在のアプリケーションに関連付けられているアクセス許可情報を取得します。

2.ホームアプリケーションは、現在のAPKの名前やアイコンなどの情報を読み取ります。



3.システムサーバーは、アプリケーションの操作に関連するいくつかの情報を読み取ります。たとえば、アプリケーションの通知要求の取得と処理です。

4.最後に、APKに含まれるコンテンツは、現在のアプリケーションに限定されませんが、システムリソースの再利用性を向上させるために、他のアプリケーションから呼び出すことができます。

zipalign最適化の最も基本的な目的は、オペレーティングシステムが要求に応じてリソースをより効率的にインデックス付けし、データ構造のアライメント(データ構造アライメント標準:DSA)を4バイト境界に均一に制限できるようにすることです。データ構造のアライメントに最初に触れた場合は、より関連性の高いコンテンツを検索して、これを行う最終的な目的を完全に理解することを強くお勧めします。これは、zipalignがどのように機能するかを理解するための鍵でもあります。アラインメント標準が採用されていない場合、プロセッサはメモリアドレス内の関連するリソースを正確かつ迅速に見つけることができません。



第二に、使用方法

方法1:コマンドラインを使用する

1. AndroidSDKでツールフォルダの下で、zipalign.exeファイル。
2.最適化するapkを解凍したtoolsフォルダーにコピーします。
[スタート]-> [ファイル名を指定して実行]-> [CMD]をクリックして、コマンドラインウィンドウを表示します
コマンドラインで、解凍したフォルダーのパスを入力します zipalign -v4最適化するapk名。 apk最適化されたapk名。 apk

例:C: Windows android-sdk-windows tools zipalign -v 4 Example.apk Example.1.apk


ここで、-vは詳細出力を表し、4は整列された4バイトを表します。

方法2:build.gradleで構成する

zipalign


3つのzipalignパラメーター

環境構成(構成ohmyzsh環境変数)

使用していない場合 ~ vim ~/.bashrc

ohmyzsh

使用している場合vim ~/.zshrc

#Android sdk export ANDROID_HOME=/Users/guoyoujin/Library/Android/sdk export PATH=$PATH:$HOME/Library/Android/sdk/tools:$HOME/Library/Android/sdk/platform-tools export PATH=$PATH:$HOME/Library/Android/sdk/build-tools/24.0.3 #GOROOT

以下に3番目のパストを記述します。前のディレクトリは独自のSDKのパスであり、直接コピーしないでください。

source ~/.bashrc or source ~/.zshrc

最後に、変更したファイルをリロードします

➜ TxCustomerServices git:(v1.16.1) ✗ zipalign Zip alignment utility Copyright (C) 2009 The Android Open Source Project Usage: zipalign [-f] [-p] [-v] [-z] infile.zip outfile.zip zipalign -c [-v] infile.zip : alignment in bytes, e.g. '4' provides 32-bit alignment -c: check alignment only (does not modify file) -f: overwrite existing outfile.zip -p: page align stored shared object files -v: verbose output -z: recompress using Zopfli

詳細情報を表示するには、zipalignと入力します

The is an integer that defines the byte-alignment boundaries. This must always be 4 (which provides 32-bit alignment) or else it effectively does nothing. Flags: -f : overwrite existing outfile.zip -v : verbose output -p : outfile.zip should use the same page alignment for all shared object files within infile.zip -c : confirm the alignment of the given file

使いやすい

公式サイトで簡単に説明していますが、誰でも理解できると思います

zipalign -f -v 4 infile.apk outfile.apk

パッケージリソースを調整する

zipalign -c -v 4 outfile.apk

APKが整列しているかどうかを比較します

Verification succesful

出力

buildTypes { release { //Zipalign optimization  zipAlignEnabled true  } debug { //Zipalign optimization  zipAlignEnabled false  } }
比較されたことを意味します

zipalign;

-c:.apkファイルがzipalign用に最適化されているかどうかを確認します

-f:既存のファイルを上書きします

-p:オブジェクトファイルを保存するページ

-v:最適化後に詳細情報を出力しますxx.apk

-z:Zopfliが使用されます

zipalign -v 4 source.apk destination.apk