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

问题是,当我去编译应用程序时,将使用默认存储库(https://jcenter.bintray.com/)而不是crashlib中定义的存储库,因此构建失败。如果我将存储库定义从rashib添加到应用程序模块中,则它可以成功构建,但是并不理想。我也可以自行成功构建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')
}

有什么想法如何在构建应用程序时使用存储库?

最佳答案

在您的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.+'
      }
    }

10-05 22:56