我有一个 Android 应用项目,其中包含一个单独的 Android 库模块,已经作为二进制文件发布。我想添加一种能力,可以在源代码构建库和使用已发布的构件之间切换 Gradle。
Android 应用默认依赖于二进制构件:
然而,当我试图构建gradle时,它仍然使用二进制构件。这里有什么问题? 这是完整的源代码 另外有趣的一点是,如果我将依赖项替换代码移到allprojects部分或应用程序模块build.gradle文件中,则Gradle构建会失败,并显示以下消息:
compile "com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}"
现在,我想用源代码替换我的二进制构件,所以我在根 build.gradle 文件中添加了以下代码:configurations.all {
resolutionStrategy {
dependencySubstitution {
substitute module("com.example.konstantin.mylibrary:mylibrary:${mylibraryVersion}") with project(':mylibrary')
}
}
然而,当我试图构建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