次のようなディレクトリ/プロジェクトのセットアップがあります:
C:\
_dev\
Projects\
Logger
MyProject
LoggerはAndroid Gradleを使用したライブラリプロジェクトです。MyProjectは標準のAndroid必要なプロジェクトプロジェクトですLoggerライブラリを使用します。
Android Studioを使用しており、外部ライブラリにLoggerを追加しようとしました。これは開発中に機能しますが、ビルド時にクラスが見つからないというメッセージが表示されます。
私はGradleを初めて使用しますが、build-gradleでMyProject内で次のことを試しました。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'Android'
repositories {
mavenCentral()
}
Android {
compileSdkVersion 18
buildToolsVersion "18.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 18
}
dependencies {
compile files("../Logger")
}
}
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
}
最も簡単な方法は、MyProject
プロジェクトをサブプロジェクトとして、Logger
をマルチプロジェクトにすることです。
settings.gradle
MyProject
ディレクトリ内:
include ":logger"
project(":logger").projectDir = file("../logger")
の中に build.gradle
of MyProject
これで、このlibをプロジェクトとして参照できます。
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
compile project(":logger")
}
Android Studio 2.2.3:
Settings.gradleに追加します。
include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
次に、プロジェクト構造を編集します|依存関係をセットアップするモジュール。
「Android>依存関係」ではなく、グローバルな「依存関係」セクションに依存関係を追加してみてください。開発時には、「Android」構成が使用されますが、ランタイムのパッケージ化には使用されません。
dependencies {
compile 'com.Android.support:gridlayout-v7:18.0.0'
compile 'com.Android.support:appcompat-v7:18.0.0'
compile files("../Logger")
}
また、次のような共有親ディレクトリにbuild.gradleとsettings.gradleを使用して、マルチプロジェクトgradle構成をセットアップすることも検討する価値があります。 http://www.gradle.org/docs/ current/userguide/multi_project_builds.html