0

我在我的 gradle 中定义了产品风味

 flavorDimensions 'default'

productFlavors {

    live {
        dimension 'default'
    }

}

我有三种构建类型

 buildTypes {
    debug {
        // some statements
    }

    staging {
        // some statements
    }

    release {
        // some statements
    }

    alpha {
        // some statements
    }
}

实现了一个用于上传工件的谷歌播放

play {
    track = 'internal'
    serviceAccountCredentials = rootProject.file("app/private_key.json")
    defaultToAppBundles = true // Use App Bundle instead of APK
    resolutionStrategy = "ignore"
}

这是我的 CircleCi 配置文件:

在这里我写了一个工作流程

build-production-and-sent-to-play-store:

docker:
  - image: circleci/android:api-29

working_directory: ~/repo

environment:
  GRADLE_OPTS: "-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dorg.gradle.caching=true -Dorg.gradle.configureondemand=true -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false -Dorg.gradle.daemon=false"

steps:
  - checkout

  - run:
      name: Gradle permission
      command: chmod +x gradlew

  - run:
      name: Download Dependencies
      command: ./gradlew androidDependencies

  - run:
      name: Upload to google play store
      command: ./gradlew publishLiveRelease

当我在 gradle 文件中使用命令publishLiveReleasepublishLiveReleaseBundlewithdefaultToAppBundles = true时,它不起作用,它会引发如下异常

FAILURE: Build failed with an exception.
  • 出了什么问题:无法确定任务“:app:publishLiveRelease”的依赖关系。

无法创建任务 ':app:publishLiveReleaseBundle'。'com.android.build.gradle.internal.variant.InstallableVariantData com.android.build.gradle.internal.api.InstallableVariantImpl.getVariantData()'

  • 尝试:使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 例外是:org.gradle.api.internal.tasks.TaskDependencyResolveException:无法确定任务':app:publishLiveRelease'的依赖关系。在 org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:69) 在 org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:46) 在 org.gradle.execution.plan.LocalTask​​Node .getDependencies(LocalTask​​Node.java:161) 在 org.gradle.execution.plan.LocalTask​​Node.resolveDependencies(LocalTask​​Node.java:129) 在 org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:165) 在 org. gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:135) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.addEntryTasks(DefaultTaskExecutionGraph.java: java:297) 在 org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) 在 org.gradle. internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) 原因:org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException:无法创建任务':app:publishLiveReleaseBundle'。在 org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:77) 在 org.gradle.api 的 org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:719)。 internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:711) 在 org.gradle.api.internal。

有谁知道我如何使用圆圈上传捆绑工件到播放控制台?

4

1 回答 1

0

只更新com.github.triplet.play插件。截至此答案,3.6.0是最新版本。如果您使用 Gradle 6.5,则可以使用3.4.0.

在这里,您可以在插件的 repo 中看到与此错误相关的问题。

于 2021-08-19T18:22:17.207 回答