【问题标题】:is there an anchor task that contains bundleDebug and bundleRelease in Android Gradle plugin?Android Gradle 插件中是否有包含 bundleDebug 和 bundleRelease 的锚任务?
【发布时间】:2015-12-23 11:17:27
【问题描述】:

在 Android Gradle 插件中,任务“assemble”是一个包含 assembleDebug 和 assembleRelease 的锚任务。是否有类似的包含 bundleDebug 和 bundleRelease 的锚任务。我目前有以下构建脚本,其中任务依赖于 bundleDebug:

android.libraryVariants.all {
    variant -> variant.javaCompile.classpath += configurations.provided
}
task removeCameraApiJar(dependsOn: 'bundleDebug') << {
    FileCollection outputs = tasks['bundleDebug'].getOutputs().getFiles()
    outputs.each {
        File file ->
            println file.name
    }
    println 'removeCameraApiJar'
}
task assemble.dependsOn(removeCameraApiJar)

但是,如果我将 bundleDebug 替换为“bundle”,脚本将失败并显示以下消息:

  • 出了什么问题:无法确定任务 ':camerasupport:removeCameraApiJar' 的依赖关系。

    在项目 ':camerasupport' 中找不到路径为 'bundle' 的任务。

【问题讨论】:

    标签: gradle android-gradle-plugin


    【解决方案1】:

    Android 插件似乎没有创建这样的任务。但是你可以做类似的事情

    task removeCameraApiJar(dependsOn: tasks.matching { it.name.startsWith('bundle') })
    

    【讨论】:

      【解决方案2】:

      在当前版本的 gradle android 插件(1.5.0)中,捆绑任务可以作为变体输出的属性(“packageLibrary”)找到:

      android.libraryVariants.all {
          variant -> 
          variant.outputs.each { output ->
          FileCollection outputs = 
          output.packageLibrary.getOutputs().getFiles()
          }
      }
      

      prinln output.packageLibrary.name 将产生“bundle”+buildVariant。

      【讨论】:

        猜你喜欢
        • 2020-02-24
        • 1970-01-01
        • 2021-02-10
        • 1970-01-01
        • 2015-10-04
        • 2016-11-03
        • 1970-01-01
        • 2014-06-22
        • 1970-01-01
        相关资源
        最近更新 更多