15

リモート依存関係を持つ gradle を使用して aar ファイルを作成しようとしています。ビルド スクリプトの例を以下に示します。ご覧のとおり、2 つの依存関係があります。私が抱えている問題は、リリースを行うときに aar ファイルにリモートの依存関係が含まれていないため、aar ファイルを他のプロジェクトに含めると NoClassDefFound エラーが発生することです。

jar をローカルの maven リポジトリからプロジェクトの libs フォルダーにコピーすると、jar がリリース aar に含まれることがわかりました。リモートの依存関係を aar ファイルに含めるにはどうすればよいですか? また、このような依存関係を出荷するのは悪い習慣であると他の場所で読んだことがあります。

buildscript {

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

apply plugin: 'android-library'

repositories {
    mavenCentral()
    mavenLocal()
}

android {
... omitted for brevity
}

dependencies {
    compile 'com.somepackage:someartifact:1.0'
    compile 'com.anotherpackage:artifact:2.0'
}
4

2 に答える 2

7

transitive属性を使用してみてください:

compile ('group_id:artifact_id:version_name@aar'){
    transitive = true
}
于 2014-09-29T14:08:39.827 に答える