小编akd*_*005的帖子

Gradle - 带有库的Android App的DependencySubstitution

我有一个Android应用程序项目,里面有单独的android库模块,它作为二进制文件发布.我想添加一个能够在从源构建库或使用已发布的工件之间切换gradle的能力.Android应用默认依赖于二进制工件:

compile "com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}"

现在我希望我的二进制工件被源代码替换,所以我在root build.gradle文件中添加以下代码:

configurations.all {
resolutionStrategy {
    dependencySubstitution {
        substitute module("com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}") with project(':mylibrary')
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我正在尝试构建gradle仍然采用二进制工件.这有什么不对?

这是完整的源代码

同样有趣的是,如果我将依赖项替换代码移动到allprojects部分或应用程序模块build.gradle文件,则gradle无法使用以下消息构建:

Error:Module version MyApplication:app:unspecified, configuration '_debugCompile' declares a dependency on configuration 'default' which is not declared in the module descriptor for MyApplication:mylibrary:unspecified
Run Code Online (Sandbox Code Playgroud)

android dependency-management gradle android-gradle-plugin

5
推荐指数
1
解决办法
529
查看次数