如何在Gradle中使依赖传递

时间:2015-06-16 15:46:48

标签: maven javamail android-gradle build.gradle gmail-api

我已将javax.mail-api-1.5.3.jar文件下载到app / libs文件夹中,然后右键单击,添加为库。然后在依赖

下面出现以下行
compile files('libs/javax.mail-api-1.5.3.jar')

我想让这个依赖项传递。因为我在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
    }

}

1 个答案:

答案 0 :(得分:1)

也可以从构建文件中描述的现有存储库(可能是jCenter或mavenCentral)下载<asp:Label ID="Label2" runat="server" Text='<%#Eval("uMessage") %>'></asp:Label> 。如果您不想在javax.mail-api-1.5.3中使用下载的版本,则可以在构建文件中执行此操作:

/libs

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

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