web-dev-qa-db-ja.com

別のディレクトリのGradleプロジェクトが必要

次のようなディレクトリ/プロジェクトのセットアップがあります:

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'
}
60
euantorano

最も簡単な方法は、MyProjectプロジェクトをサブプロジェクトとして、Loggerをマルチプロジェクトにすることです。

settings.gradleMyProjectディレクトリ内:

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")
}
134
Rene Groeschke

Android Studio 2.2.3:

Settings.gradleに追加します。

include ':app', ':new_lib'
project(':new_lib').projectDir = new File('../new_lib/app')
  • パスは、作業中のプロジェクトのルートからの相対パスである必要があります。
  • 参照しているモジュールには、その「app」ディレクトリへの参照が必要です。

次に、プロジェクト構造を編集します|依存関係をセットアップするモジュール。

11
Dave Tyler

「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

6
miw