【问题标题】:Add Android Better Pickers as a gradle dependency将 Android Better Pickers 添加为 gradle 依赖项
【发布时间】:2014-01-20 12:06:58
【问题描述】:

我首先添加了 android 支持库并测试了我可以使用它。但是,当我在 this maven 存储库中添加 Android Better Pickers 时,出现以下错误:

Gradle 'bumble' 项目刷新失败:找不到 com.google.android:support-v4:18。要求:myapp:app:unspecified com.doomonafireball.betterpickers:library:1.4.2

这就是我在位于 MyProject -> 应用程序的 build.gradle 中设置依赖项的方式。

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.doomonafireball.betterpickers:library:1.4.2'
}

Android Better Pickers 在它的 build.gradle 中包含以下内容,并打包为 aar。

dependencies {
    compile 'com.android.support:support-v4:18.0.+'
    compile 'com.nineoldandroids:library:2.4.0'
}

有人知道解决办法吗?

编辑

Android 更好的选择器现在从 v 1.5 开始支持 gradle!现在将它添加为库真的很容易,只需按照那里的指南进行操作,并且不要忘记在更改 build.gradle 后进行干净的 AND gradle 同步。然而,这个问题的部分答案仍然适用于非 gradle 项目。

【问题讨论】:

    标签: android android-studio android-support-library android-gradle-plugin


    【解决方案1】:

    首先确保你在File >Project Structure >Android SDK中指向正确的sdk

    为了使用 Support Jar,您必须从 SDK Manager 安装 Android Support Repository。 Android Studio 工具栏中提供 SDK 管理器图标。

    你应该知道的知识:

    1.如果您的任何一个库模块中已经添加了主模块,则无需在主模块中添加任何依赖项。所以从你的主模块中删除支持依赖。

    让它变成这样:

     dependencies {
             compile 'com.doomonafireball.betterpickers:library:1.4.2'
     }
    

    2.Android Studio (0.4.2) 中的依赖管理存在一些问题,该问题已针对 Android Studio (0.4.3) 进行了修复,但在发布之前,请检查此问题是否存在任何与依赖相关的问题。

    Import Google Play Services library in Android Studio

    编辑:

    我检查了 github 存储库,日期选择器没有 gradle 依赖

    所以请执行以下操作

    1. 从 github 下载存储库

    2. 复制项目根目录内的库目录或创建一个目录并将所有库保存在其中。以下配置用于直接在根目录中,我已将“库”重命名为 datepickerlibrary

    3. 修改build.gradle自带库

    build.gradle内部数据选择器库模块

    buildscript {
        repositories {
            mavenCentral()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:0.5.+'
        }
    }
    
    apply plugin: 'android-library'
    
    android {
        compileSdkVersion 17
        buildToolsVersion '19.0.0'
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                res.srcDirs = ['res']
            }
        }
    }
    apply plugin: 'maven'
    apply plugin: 'signing'
    
    version = "1.4.0"
    isReleaseVersion = !version.endsWith("SNAPSHOT")
    group = "com.doomonafireball.betterpickers"
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.android.support:support-v4:18.0.+'
        compile 'com.nineoldandroids:library:2.4.0'
    }
    

    主模块的 build.gradle 中的依赖项应该是这样的:

    dependencies {
    
        compile project(':datepickerlibrary')   //if it is inside some sub directory you can give path like ':libraries:datepickerlibrary' depends on you
    
    }
    

    在位于项目目录根目录的 settings.gradle 中添加这一行:

    include ':datepickerlibrary'
    

    在所有这些检查之后,请使用 gradle 同步您的项目。

    它对我有用,如果出现任何问题,请告诉我。

    原始提问者的笔记

    我最终做了与上述类似的事情,而且效果很好!我做了一个总结:

    1. 已下载并手动将库添加为 Android Studio 中的依赖项
    2. 从库的 build.gradle 中删除了以下内容(得到了一个未找到 sonytype 类的异常或类似情况)

      beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
      
      repository(url: sonatypeRepo) {
          authentication(userName: sonatypeUsername,
                  password: sonatypePassword)
      }
      
    3. 更新了库的 SDK 版本以匹配我安装的版本。

    【讨论】:

    • 我测试了我首先正确设置了 Android 支持库,它运行良好。但是,当我添加 Android Better 选择器时,我会收到上面的错误消息。我现在测试了包括 ActionBarSherlock,它也依赖于 Android Support 库,它工作得很好,所以我很快就会重新提出我的问题。如果你能再看一眼就好了!
    • @SimonBengtsson 检查我的编辑
    • 这就是我最终要做的。你知道如何判断一个项目是否可以用作 gradle 依赖项吗?查看 Android Better Pickers maven repo,你可以找到一个 Gradle 链接,在 github 上它们包含一个 build.gradle,这让我感到困惑。如果您不介意,当我遇到其他问题时,我会在您的答案中添加一些内容。
    • 当然,我想添加一些关于我首先做的事情的注释。
    • 好的,添加它们没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 2014-10-06
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多