Androidは依存するライブラリアイテムをaar(jar以外)ファイルにパッケージ化
1290 ワード
前奏:以前はjarパッケージに打つ方法を探していましたが、classファイルをjarパッケージに打つしかありません.
プロジェクトのリソースファイル(resディレクトリの下のファイル、assetsディレクトリの下のファイルなど)もjarパッケージに打ち込みます
jarパッケージに打ち込んでも、私たちのプロジェクトは使えません.
件名:後でADTを更新したときにSDKのextrasandroidm 2 repositorycomandroidsupportディレクトリの下に
aarという接尾辞のファイルがたくさんあり、解凍ツールを開くとassets、res、AndroidManifestが含まれていることがわかります.xml、classes.jar
R.txtなどのファイルをテストして、aarファイルをプロジェクトのlibsディレクトリの下に直接置くことで、中のリソースファイルとクラスファイルを呼び出すことができます.
次にaarの生成方法と使用方法について説明します.
生成方法:Android Studioツール(Gradle構築方式を使用する必要があります.低バージョンの推定ではだめです.私が使用している最新バージョン1.1.0)を使用して、非ライブラリプロジェクトAを作成し、ライブラリプロジェクトBを作成し、AをBに依存させてプロジェクトAを実行する必要があります.この場合、ライブラリプロジェクトBのbuildoutputsaarディレクトリの下にB-debugが表示されます.aarとB-release.aarは、プロジェクトAに後で提供されて使用される2つのファイルです.
使用方法:
ここでA項目にBへの依存関係を取り除く上で生成したB-debug.aarまたはB-release.aarプロジェクトAのlibsディレクトリにコピーし、Aプロジェクトのbuildを修正する.gradleプロファイル、次のとおりです.
dependencies { //compile fileTree(dir: 'libs', include: ['*.jar']) compile (name:"B-release",ext:"aar") compile 'com.android.support:appcompat-v7:22.0.0'}
その後、Gradleの構築が完了すると、プロジェクトAが実行されます.
プロジェクトのリソースファイル(resディレクトリの下のファイル、assetsディレクトリの下のファイルなど)もjarパッケージに打ち込みます
jarパッケージに打ち込んでも、私たちのプロジェクトは使えません.
件名:後でADTを更新したときにSDKのextrasandroidm 2 repositorycomandroidsupportディレクトリの下に
aarという接尾辞のファイルがたくさんあり、解凍ツールを開くとassets、res、AndroidManifestが含まれていることがわかります.xml、classes.jar
R.txtなどのファイルをテストして、aarファイルをプロジェクトのlibsディレクトリの下に直接置くことで、中のリソースファイルとクラスファイルを呼び出すことができます.
次にaarの生成方法と使用方法について説明します.
生成方法:Android Studioツール(Gradle構築方式を使用する必要があります.低バージョンの推定ではだめです.私が使用している最新バージョン1.1.0)を使用して、非ライブラリプロジェクトAを作成し、ライブラリプロジェクトBを作成し、AをBに依存させてプロジェクトAを実行する必要があります.この場合、ライブラリプロジェクトBのbuildoutputsaarディレクトリの下にB-debugが表示されます.aarとB-release.aarは、プロジェクトAに後で提供されて使用される2つのファイルです.
使用方法:
ここでA項目にBへの依存関係を取り除く上で生成したB-debug.aarまたはB-release.aarプロジェクトAのlibsディレクトリにコピーし、Aプロジェクトのbuildを修正する.gradleプロファイル、次のとおりです.
repositories{
flatDir{
dirs 'libs'
}
}
dependencies { //compile fileTree(dir: 'libs', include: ['*.jar']) compile (name:"B-release",ext:"aar") compile 'com.android.support:appcompat-v7:22.0.0'}
その後、Gradleの構築が完了すると、プロジェクトAが実行されます.