最近在项目中发现一个问题,如果某个module中依赖了aar库,然后app依赖了这个module生成的aar包的时候,当build工程的时候,会出现failed to resolve这个错误。只要在app的build.gradle中加入下面代码就可以解决了:
repositories {
flatDir {
dirs project(':targetsdk').file('libs')
}
}
上面代码中的“targetsdk“替换成module的名字,libs是module依赖的aar库所在的目录。如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.3.2"
defaultConfig {
applicationId "xxx.xx.xxxx.xxx"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
flatDir {
dirs project(':taesdk').file('libs')
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.0.1'
compile project(':taesdk')
}
这时候再去编译,就不会出错了!但是要注意的是,这个时候只能依赖module的形式,不能打包成aar依赖!具体原因暂时还不知道,如果有知道的,欢迎交流~!!