85

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

C:\
    _dev\
        Projects\
            Logger
            MyProject

Loggerは、Gradle を使用した Android ライブラリ プロジェクトです。MyProjectは、 Loggerライブラリを利用する必要がある標準の Android プロジェクト プロジェクトです。

私は Android Studio を使用しており、Loggerを外部ライブラリに追加しようとしました。これは開発中に機能しますが、ビルド時にクラスが見つからないというメッセージが表示されます。

私はGradleを初めて使用しますが、MyProject内の build.gradle で次のことを試しました:

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'
}
4

4 に答える 4

14

アンドロイド スタジオ 2.2.3:

settings.gradle に追加します。

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

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

于 2016-12-15T09:50:54.060 に答える
10

「アンドロイド>依存関係」ではなく、グローバルな「依存関係」セクションに依存関係を追加してみてください。開発中は「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

于 2013-10-10T15:10:38.583 に答える