如何在 Gradle 中使依赖传递

How to make dependency transitive in Gradle

我已经下载了 javax.mail-api-1.5.3.jar 文件复制到 app/libs 文件夹,然后右键单击,添加为库。然后下面一行出现在 dependency

compile files('libs/javax.mail-api-1.5.3.jar')

我想建立这个依赖关系 transitive.Because 我在 pom.xml 文件中提到了 javax.mail-api 库依赖关系,如下所示。

 <dependencies>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.5.3</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.5.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

我也试过了

compile (files('libs/javax.mail-api-1.5.3.jar')){
    transitive true
}

然后出现这个错误。

    Error:(34, 0) Gradle DSL method not found: 'compile()'
    Possible causes:
The project 'MeetingManager' may be using a version of Gradle that does not contain the method.
    Open Gradle wrapper file 

The build file may be missing a Gradle plugin.
    Apply Gradle plugin

我不知道下一步该怎么做,请帮忙。

我的 build.Gradle 文件看起来像

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.meetingmanager"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions{
        exclude 'META-INF/LICENSE.txt'
    }


}

dependencies {
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.google.android.gms:play-services:7.3.0'
    compile 'com.google.api-client:google-api-client:1.20.0'
    compile 'com.google.apis:google-api-services-gmail:v1-rev29-1.20.0'
    compile 'com.google.api-client:google-api-client-android:1.20.0'
    compile 'com.google.api-client:google-api-client-gson:1.20.0'
    compile (files('libs/javax.mail-api-1.5.3.jar')){
        transitive true
    }

}

javax.mail-api-1.5.3 也可以从构建文件中描述的现有存储库(可能是 jCenter 或 mavenCentral)下载。如果您不依赖于在 /libs 中使用下载的版本,您可以在构建文件中执行此操作:

dependency {
  compile 'javax.mail:javax.mail-api:1.5.3'
}

这种情况下的默认行为是在您这样指定时下载传递依赖项。

这是对该存储库的引用:http://mvnrepository.com/artifact/javax.mail/javax.mail-api/1.5.3