AndroidのGraadleプラグイン(2):依存管理
6330 ワード
本論文は編集を行いました.原文の住所:http://www.cnblogs.com/youxilua/archive/2013/05/22/3092657.html
前言
前回の「Graadleであなたのandroidプログラムを構築する」に続き、今回は前回書いていなかった関連について、どのようにgraldeで依存性のあるプロジェクトを構築して補完しますか?
Graadle androidプラグインの現在の状況
個人的な感覚はまだ話していますが、現在のAndroid gradleプラグインの状況は、もし思いがけないことがあれば最新のはずです.
現在の最新の公式gradle androidは0.4で、Android公式のgraldeプラグインのほかに、開発者が昔に開発したgradleプラグインもありますが、現在はほとんどメンテナンスされていないので、ここではこれらの第三者のgradleプラグインを紹介しません.
Android Graadle 0.4プラグインMaven中央ライブラリは、現在、新たなAndroid gradle構築システムの基本的な改善が知られています.はandroid libraryとandroid libraryの相互参照をサポートしていません. NDK はサポートされていません.アンディライフルパッケージファイル(*.aar)のローカル参照 はサポートされていません.
もし、以上の問題のあなたが会えないなら、これからはgradleでandroidプログラムを構築するのがいいです.
参照の依存性
ここで読む前提は前の記事をもう読みました.
ローカル依存
gradleは構築ツールとして、ローカルjarパッケージを便利に使用できます.以下は使用コードブロックです.
gradleは同時にmaven、ivyをサポートしています.ivyは使ったことがないので、mavenを例にとって、以下はコードブロックです.
プロジェクトに対してAndroid libraryを依存するなら、jarに依存するのではなく、ここでgradle mutlit project機構を使用する必要があります.例は繰り返し書きません.前のドイツ人が書いた例を具体的に参考にします.プラグインのバージョンを0.4に変更してください.https://github.com/Goddchen/Android-Gradle-Examples/tree/master/Gradle%20Library%20Projects
注意android library
appyplugin:'android'をappy pluginに変更しました.'android-library'
Mutlit project設定
Mullit projectの設定はgradleで約束されているフォーマットです.もしあるプロジェクトをコンパイルする前に、別のプロジェクトをコンパイルする場合、Mullit projectを使用する必要があります.構造は下図の通りです.
MyProject/
| settings.gradle
+ アプリ/
| build.gradle
+ libries/
+ lib 1/
| build.gradle
+ lib 2/
| build.gradle
あなたはあなたのworkplaceディレクトリの下にsettings.gradleのファイルを作成し、その中に次のように書く必要があります.
include':app',':libries:lib 1',':libries:lib 2'
そうすれば、gradle muttil projectは設定済みです.
app projectに対してlibriesディレクトリの下のlib 1を適用する必要があるなら、app project
注意すべき点
gradleはカバンの管理に対して、filesystem、maven、ivyをサポートします.ここでは、mavenを利用して、android依存カバンの管理をどのように行うかを重点的に説明します.
Graadleを利用して現地のMavenライブラリを発表する.
jarパッケージをどのように包んでmavenに発表するかについては、javaの基本的な知識です.ここでは言いません.
私たちが今勉強しているのは、例えばandroid libraryバッグをリリースすることです.
昔は、Android libraryはいいカバン管理方式がありませんでした.簡単に言えば、gradleが現れる前に、政府はAndroid libraryを管理する方式がありませんでした.一般的には他の人のandroid library projectを直接ダウンロードして集めました.
今、ついに政府は1種のandroid libraryの包装のフォーマットを出して、拡張子は包装android library
Android libraryパッケージは直接libraryプロジェクトの下で
スクリプトをリリースします.
android library projectディレクトリのbuild/libsでbuild.gradleファイルを作成します.
以上の2つのステップを完了すると、直接にMavenでjarの依存を引用することができます.アンディラビアの依存を参照してください.
前言
前回の「Graadleであなたのandroidプログラムを構築する」に続き、今回は前回書いていなかった関連について、どのようにgraldeで依存性のあるプロジェクトを構築して補完しますか?
Graadle androidプラグインの現在の状況
個人的な感覚はまだ話していますが、現在のAndroid gradleプラグインの状況は、もし思いがけないことがあれば最新のはずです.
現在の最新の公式gradle androidは0.4で、Android公式のgraldeプラグインのほかに、開発者が昔に開発したgradleプラグインもありますが、現在はほとんどメンテナンスされていないので、ここではこれらの第三者のgradleプラグインを紹介しません.
Android Graadle 0.4プラグインMaven中央ライブラリは、現在、新たなAndroid gradle構築システムの基本的な改善が知られています.
もし、以上の問題のあなたが会えないなら、これからはgradleでandroidプログラムを構築するのがいいです.
参照の依存性
ここで読む前提は前の記事をもう読みました.
ローカル依存
gradleは構築ツールとして、ローカルjarパッケージを便利に使用できます.以下は使用コードブロックです.
1
2
3
4
5
6
7
8
9
10
dependencies {
//
compile files('libs/android-support-v4.jar')
//
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
}
リモート依存gradleは同時にmaven、ivyをサポートしています.ivyは使ったことがないので、mavenを例にとって、以下はコードブロックです.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
repositories {
//
mavenCentral()
// maven
maven{
url "file://F:/githubrepo/releases"
}
// maven
maven{
url "https://github.com/youxiachai/youxiachai-mvn-repo/raw/master/releases"
}
}
dependencies {
// : packageName:artifactId:version
compile 'com.google.android:support-v4:r13'
}
android {
}
android library依存プロジェクトに対してAndroid libraryを依存するなら、jarに依存するのではなく、ここでgradle mutlit project機構を使用する必要があります.例は繰り返し書きません.前のドイツ人が書いた例を具体的に参考にします.プラグインのバージョンを0.4に変更してください.https://github.com/Goddchen/Android-Gradle-Examples/tree/master/Gradle%20Library%20Projects
注意android library
build.gradle
に対して、覚えておいてください.appyplugin:'android'をappy pluginに変更しました.'android-library'
Mutlit project設定
Mullit projectの設定はgradleで約束されているフォーマットです.もしあるプロジェクトをコンパイルする前に、別のプロジェクトをコンパイルする場合、Mullit projectを使用する必要があります.構造は下図の通りです.
MyProject/
| settings.gradle
+ アプリ/
| build.gradle
+ libries/
+ lib 1/
| build.gradle
+ lib 2/
| build.gradle
あなたはあなたのworkplaceディレクトリの下にsettings.gradleのファイルを作成し、その中に次のように書く必要があります.
include':app',':libries:lib 1',':libries:lib 2'
そうすれば、gradle muttil projectは設定済みです.
app projectに対してlibriesディレクトリの下のlib 1を適用する必要があるなら、app project
build.gradle
の中の依存だけに書いてください.1
compile project(':libraries:lib1')
完成できます.書き上げたらgradle AndroidDependencies
を使って依存状況をチェックしてもいいです.注意すべき点
1
2
3
4
5
6
7
8
9
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
buildscript{}
に対して、android gradleはプラグイン環境を事前に配置するために使われています.一般的には依存関係を書いておくことを勧めません.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
repositories {
//
mavenCentral()
// maven
maven{
url "file://F:/githubrepo/releases"
}
}
dependencies {
// : packageName:artifactId:version
compile 'com.google.android:support-v4:r13'
}
Maven管理ライブラリを使用するgradleはカバンの管理に対して、filesystem、maven、ivyをサポートします.ここでは、mavenを利用して、android依存カバンの管理をどのように行うかを重点的に説明します.
Graadleを利用して現地のMavenライブラリを発表する.
jarパッケージをどのように包んでmavenに発表するかについては、javaの基本的な知識です.ここでは言いません.
私たちが今勉強しているのは、例えばandroid libraryバッグをリリースすることです.
昔は、Android libraryはいいカバン管理方式がありませんでした.簡単に言えば、gradleが現れる前に、政府はAndroid libraryを管理する方式がありませんでした.一般的には他の人のandroid library projectを直接ダウンロードして集めました.
今、ついに政府は1種のandroid libraryの包装のフォーマットを出して、拡張子は
*.aar
です.前に述べたように、現在のAndroid gradleプラグインは現地で直接*.aar
ファイルを使用することをサポートしていませんが、カバン管理庫の引用方式をサポートしています.以下、アンディラヴィに対してどうやって使用するかを説明します.Android libraryパッケージは直接libraryプロジェクトの下で
gradle build
を使えばいいです.その後、build/libsディレクトリの下で2つの*.aar
ファイルを見ます.一つはreleaseの下で使います.個人の需要を見て使います.ここではreleaseバージョンのaarファイルを使います.android library projectディレクトリのbuild/libsでbuild.gradleファイルを作成します.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apply plugin: 'maven'
group = 'com.youxiachai'
artifacts {
// aar
archives file('Gradlelib.aar')
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://F:/githubrepo/releases")
pom.version = 'r1'
pom.artifactId = 'gradletest'
}
}
}
gradle uploadArchives
は、カバンのリリースを完了することができます.