Gradle无法在Android Studio中解析材质对话框依赖项

时间:2015-11-25 17:24:12

标签: android gradle android-gradle material-design

我正在尝试构建从Git存储库导入的Android应用程序。这个相同的应用程序在另一个环境中正确构建,但在我的环境中,我收到以下错误:

Error:(41, 13) Failed to resolve: com.afollestad:material-dialogs:0.7.7.0

我的build.gradle:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}


android {
    compileSdkVersion 22
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "my.app.id"
        minSdkVersion 16
        targetSdkVersion 22
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.afollestad:material-dialogs:0.7.7.0'
    compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
    compile 'com.github.navasmdc:MaterialDesign:1.2'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.1.0'
    compile 'com.squareup.okhttp:okhttp:2.1.0'
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'joda-time:joda-time:2.3'
    compile 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar'
    compile 'com.andreabaccega:android-form-edittext:1.2.1@aar'
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
}

我也尝试了不同的版本(0.7.7.0,0.7.6.0,0.7.5.5),但没有任何变化。我该如何解决我的问题?

3 个答案:

答案 0 :(得分:6)

jCenter上,只有两个版本可用0.7.9.0和0.7.9.1。这些版本在Maven Central中不可用,因此请检查您正在使用build.gradle的项目jcenter()

BTW这些版本未更新,GitHub中发布的最新版本为0.8.5.1。

要使用项目中的最新版本,请使用以下说明:

  

<强>存储库

     

首先,将以下内容添加到应用的build.gradle文件中:

repositories {
  maven { url "https://jitpack.io" }  
}      
     

<强>核心

     

核心模块包含此库的所有主要类,   包括MaterialDialog和AlertDialogWrapper。你可以创建基本的,   列表,单/多选,进度,输入等核心对话框。

dependencies {

  // ... other dependencies here

  compile('com.github.afollestad.material-dialogs:core:0.8.5.1@aar') {
      transitive = true
  }   
}

答案 1 :(得分:1)

问题是你使用targetSdkVersion 22。如果您将targetSdkVersion更新为23并在取消使用此最新库版本时,问题就会消失:

repositories {
    jcenter()
}

dependencies {
    compile('com.github.afollestad.material-dialogs:core:0.8.5.1@aar') {
        transitive = true
    }   
}

但是如果你想使用22 SDK,你应该使用这样的依赖:

repositories {
    maven { url "https://jitpack.io" }  
    }     

compile ('com.github.afollestad:material-dialogs:53103863a6') {
    transitive = true
}

这是支持22 SDK的最后一个版本 - v。 0.6.4.4 即可。但是在依赖项名称中使用旧版本号存在一些问题(可能是因为库作者已迁移到jCenter),您可以使用与this version相关的提交哈希的前10位数字。

答案 2 :(得分:0)

或者你可以使用它:

compile 'com.afollestad.material-dialogs:core:0.9.1.0'

而不是

compile 'com.afollestad:material-dialogs:0.7.7.0'