在接入 阿里开发平台的APP支付 SDK的时候,官方文档要求在project的build.gradle文件中加入以下内容:
allprojects {
repositories {
// 添加下面的内容
flatDir {
dirs 'libs'
}
// ... jcenter() 等其他仓库
}
}
然而,这种情况是在只有一个module的情况下,这样加入肯定是没问题的,但是我是把支付模块放到了另一个module下面,这个时候rebuild我的项目,就build 失败了,如下:

这个时候我们要指定具体哪个module下的libs目录添加到所有子工程的依赖中,如下:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
// 子模块含有aar:添加全局引用
flatDir {
// 由于其他module中引用了 xx module 库的 aar,在多 module 的情况下,
// 其他的module编译会报错,所以需要在所有工程的repositories
// 下把 xx module 中的libs目录添加到依赖关系中
dirs project(':xx module').file('libs')
}
}
}
修改后project 的 build.gradle 文件如下:

rebuild 成功,如下:

在接入阿里开发平台APP支付SDK时,若将支付模块放在独立module下,会导致Android Studio构建失败。解决方法是在project的build.gradle文件中明确指定module的libs目录,将依赖添加到所有子工程。通过修改build.gradle文件,成功解决了build失败的问题。
3721

被折叠的 条评论
为什么被折叠?



