【问题标题】:Android Gradle dependencies - only Maven?Android Gradle 依赖项 - 只有 Maven?
【发布时间】:2013-12-09 14:30:42
【问题描述】:

我正在尝试了解来自 Eclipse 和 Ant 的 Android Studio / Gradle 构建系统。特别是,我不明白我的build.gradle 文件中的dependencies 块是如何工作的。

我目前的项目结构如下:

在我的项目中,我同时使用了 android 支持库 (v4) 和 jxl 电子表格库。我的build.gradle(子模块内的那个,而不是根级别的那个)目前看起来像这样:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.1.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
    buildTypes {
        release {
            runProguard true
            proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
        }
    }
    productFlavors {
        defaultFlavor {
            proguardFile 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'net.sourceforge.jexcelapi:jxl:2.6.+'
    compile 'com.android.support:support-v4:13.0.+'

    //compile fileTree(dir: 'libs', include: '*.jar')
}

在倒数第二行,您可以看到我已尝试使用 android-support-v4.jarjxl.jar 的本地副本。我也尝试过使用这些线条

compile files('libs/android-support-v4.jar')
compile files('libs/jxl.jar')

但是,每当我尝试使用本地 .jar 文件时,我的构建都会失败,说找不到 Android 支持和 jxl 库。我看过很多帖子说你可以像这样简单地使用本地 .jar,但是我无法让它工作。如果可能的话,我希望能够使用我本地存储的 .jar 文件,以便在 Maven 不可用时可以离线工作。

谁能告诉我为什么使用本地 .jar 文件不起作用?

编辑:我还尝试重新启动 Android Studio IDE,并在添加本地 jar 依赖行后清理并重新构建我的项目。

【问题讨论】:

    标签: maven dependencies gradle android-studio


    【解决方案1】:

    它没有找到 libs 目录,因为它需要位于模块根目录而不是 src/main 中。 build.gradle 中的路径与 build.gradle 文件的位置相关,该文件位于模块根目录中。

    对于 Android 支持库,我建议使用 Maven 依赖项(例如 compile 'com.android.support:support-v4:13.0.+')而不是包含 jar 文件。借助支持库,Android Gradle 插件实际上会在您的 SDK 中查找它,而不是通过网络查找它;您必须通过 SDK 管理器安装支持存储库。这实际上有点令人困惑,并且因为没有很好的文档记录而绊倒了很多用户。但是,如果您以这种方式访问​​它而不是仅仅包含 JAR,那么构建系统可以更聪明地避免尝试包含它的重复副本,并且如果您包含依赖它的其他库项目会导致错误。

    【讨论】:

    • 谢谢 - 这是有道理的!我将 libs 目录移动到(子)模块的根目录中,它现在找到了 .jars。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 2018-06-14
    • 1970-01-01
    • 2016-08-01
    相关资源
    最近更新 更多