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