Android Studio:模块中定义的存储库未得到尊重

时间:2015-04-06 13:09:39

标签: android module gradle crashlytics

我在Android Studio中有一个项目,我似乎无法弄清楚这个问题。我的app结构如下: app(module)依赖于crashlib(模块),crashlib依赖于我在crashlib的gradle文件中列出的外部存储库中的AAR。

问题在于,当我去编译应用程序时,使用默认存储库(https://jcenter.bintray.com/)而不是crashlib中定义的存储库,因此构建失败。如果我将来自crashib的存储库定义添加到应用程序模块,那么它会成功构建,但它并不理想。我也可以自己成功构建crashlib。

这是crashlib build.gradle:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}
dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.library'
apply plugin: 'io.fabric'

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


android {
    compileSdkVersion 22
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile('com.crashlytics.sdk.android:crashlytics:2.2.3@aar')
}

有关如何在构建应用程序时使用存储库的任何想法吗?

1 个答案:

答案 0 :(得分:0)

在您的buildscript块中,您应该使用以下内容:

   buildscript {
      repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
      }
      dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
        classpath 'io.fabric.tools:gradle:1.+'
      }
    }