Android-Gradle:远程repo +变体感知依赖项解析

时间:2018-03-06 16:13:10

标签: android android-gradle

根据https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html,新的Android Gradle插件具有变体感知依赖性解析:

  

Android插件3.0.0及更高版本包含一种新的依赖机制,可在使用库时自动匹配变体。这意味着应用程序的调试变体会自动使用库的调试变体,依此类推。它在使用flavor时也有效 - 应用程序的freeDebug变体将使用库的freeDebug变体。

但是这些示例都是为本地项目依赖项编写的。

implementation project(':library')

此机制如何适用于从maven存储库加载的远程依赖项?

implementation 'com.example.android:library:0.0.1'

此外,我还想出了另外两个问题:

  1. 如何将android库的所有配置一起发布到maven存储库?
  2. 目前,我们正在

    发布
    publishing {
      ...
      artifact(output.outputFile) {
          builtBy variant.assemble
      };
      pom.withXml {
        ...
        dependencyNode.appendNode('scope', configurationName.contains("mplementation") ? "runtime" : "compile")
        ...
      }
      ...
    }
    
    1. android-gradle插件似乎完全忽略了我们的* .pom建议的实现依赖项中的属性<scope>runtime</scope>
    2. 虽然我们有<scope>runtime</scope>,但我们仍然可以在项目的编译时使用传递依赖库中的类。

0 个答案:

没有答案