我有一个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)