Android Studioはどうやってaarを使いますか?


一.概要
aarはjarに似たファイル形式です。しかし、彼らの間には違いがあります。
jar:classとリストファイルだけが含まれています。リソースファイルがありません。
aar:classファイルとリソースファイルが含まれています。ちなみに、Androidの専属「jar」です。
コードをaarファイルに包んで、ある程度Android Studioのスピードを上げることができます。
特にModuleをaarファイルに包んで、アップグレードする効果が顕著です。
二.どうやってaarを手に入れますか
1.Moduleのaarファイル
Android StudioプロジェクトのModuleをaarに包装するのは簡単です。
各Moduleのディレクトリの下には、このようなフォルダがあります。
このフォルダの下にはこのModule対応のaarファイルが置いてあります。
通常は2つのaarファイル、一つのdebugバージョン、一つのreleaseバージョンがあります。
私たちはreleaseのを選んだらokです。

AARファイル図
注意:
新しいModuleにはこのフォルダがありません。このフォルダは二つの方法で作成できます。
プロジェクト全体を一度実行すると、このフォルダは自動的に生成されます。
コマンドを実行します。/gradlew aseもこのフォルダを生成できます。
2.遠隔倉庫のaar
プロジェクトの中ではよくリモート倉庫の依存ライブラリを引用します。
この時、私達もaarの形でプロジェクトに導入することができます。
このライブラリのaarは実は探しやすいです。
依存ライブラリを設定したら、Sync Nowをクリックしてください。
Android Studioは自動的にこのライブラリをCディスクにダウンロードします。この書類を見つけたらいいです。
ここはEverythingを使って検索しています。このライブラリのダウンロードフォルダを見つけやすいです。他のOSは自分で検索してください。つまり、このプロジェクトのダウンロードフォルダを見つけたらOKです。
このダウンロードフォルダにはaar、jarなどのファイルが含まれています。
後は一例でこの過程を詳しく説明します。
注:
Everythingは検索ソフトです。瞬時に全体を検索できます。
とても実用的なソフトウェアです。残念ながらwindowsバージョンだけです。
公式サイトのアドレス:https://www.voidtools.com/
三.aarの使い方
aarファイルを使いたいですが、次のステップが必要です。
1.アプリのbuild.gradleに以下の構成を追加する。

repositories { 
 flatDir { 
 dirs 'libs' // aar  
 }
}
2.aarファイルをap/libsディレクトリにコピーする
3.dependenciesにaarを入れて引用する
comple(name:'zbar-release',ext:'aar')
四.LeakCanaryプロジェクトの例
Moduleの例は簡単なので、例としてリモートコードライブラリを選択します。
ここでは頻繁に使用されるメモリ検出項目のLeakCanaryを例に挙げます。
私たちは通常このライブラリを使用します。
debugComple'comp.squareup.leakcanary:leakcanary-android:1.3'
release Comple'comp.squarep.leakcanary:leakcanary-android-no-op:1.3'
Sync Nowが完成したら、私たちはCドライブでこのプロジェクトフォルダを見つけることができます。
このプロジェクトフォルダのスクリーンショットは以下の通りです。

LeakCanaryプロジェクトの例図
このフォルダの下に私達が必要な二つの依存ライブラリがあります。leakcanary-androidとleakcanary-android-no-op
leakcanary-androidフォルダを開いてください。ディレクトリ構造は以下の通りです。

leakcanary-androidフォルダ
一番奥のフォルダを開くと、ファイルの種類は主に三つあります。
  • jarファイル:あるプロジェクトはjarファイル形式で
  • を提供します。
  • aarファイル:aarファイル形式で提供されるものもあります。
  • pomファイル:(Project Object Model)は、実際にはxmlなので、必要な情報について説明します。ここでは一つのノード情報だけに関心があります。<dependencies>:依存リストを宣言します。
  • テキストエディタでleakcanary-androidフォルダの下のpomファイルを開きます。
    
    ...
    <dependencies>
     <dependency>
     <!--   id,              ,        -->
     <groupId>com.squareup.leakcanary</groupId>
     <!--  artifactId,                 -->
     <artifactId>leakcanary-analyzer</artifactId>
     <!--   -->
     <version>1.3</version>
     <scope>compile</scope>
     </dependency>
    </dependencies>
    ...
    
    pomファイルをもっと知りたいです。ここをクリックします
    leakcanary-androidのpomファイルを開くと、
    leakcanary-androidはleakcanary-analzerの1.3バージョンに依存することを発見した。
    同じような私達はleakcanary-analzerのpomファイルを開けます。
    leakcanary-analzerがleakcanary-watchとhahaに依存していることが分かりました。
    leakcanary-watchとhahaは何かに依存していません。
    このように全体のleakcanary-androidが現地のものを導入するのは4つです。
  • leakcanary-android
  • leakcanary-analzer
  • leakcanary-watch
  • ha
  • 同じように1階に行って、leakcanary-android-no-opを解析して、必要なすべてのファイルをAndroid Studioに導入します。これで全体のLeakCanaryは私達に本当に現地化を実現されました。
    二つの結果の比較は以下の通りである。
    debugComple'comp.squareup.leakcanary:leakcanary-android:1.3'
    release Comple'comp.squarep.leakcanary:leakcanary-android-no-op:1.3'
    debug Copile(name:'leakcanary-android-1.3',ext:''aar')
    comple files('libs/leakcanary-anlyzer-133.jar')
    comple files('libs/leakcanary-watch er-1.30.jar')
    comple files('libs/ha-11.jar')
    release Comple(name:'leakcanary-android-no-op-1.3',ext:'aar')
    このようにしてLeakCanaryプロジェクト全体を完全に地元の依存に変えました。
    http://www.jianshu.com/p/59efa895589e