【问题标题】:Gradle task assembleRelease not found in CI build, works with Android Studio在 CI 构建中找不到 Gradle 任务 assembleRelease,适用于 Android Studio
【发布时间】:2019-09-24 12:46:02
【问题描述】:

我正在尝试使用 gitlab/fastlane 来构建我的项目。 当我在默认项目中执行脚本时,它们可以正常工作,但是当运行程序签出项目时,构建失败并显示消息“在根项目'projectname'中找不到任务'assembleRelease'”。

当我在 Android Studio 中打开 CI 项目位置时,我必须在构建可用之前执行“使用 gradle 文件同步项目”。 完成此操作后,我可以执行 ./gradlew assembleRelease (并且 fastlane 脚本也可以正常工作)

控制台输出显示在签出存储库时删除了几个文件/目录:

Removing .gradle/
Removing .idea/
Removing app/app.iml
Removing app/build/
Removing build/
Removing local.properties
Removing project.iml

当我选择“使用 Gradle 文件同步项目”时,我似乎无法找到 Android Studio 究竟做了什么,以及我如何使用我的构建脚本重现它。

【问题讨论】:

    标签: android continuous-integration gitlab


    【解决方案1】:

    我遇到了同样的问题。原因是 ANDROID_HOME 环境变量没有设置,local.properties 文件没有设置 sdk.path。

    您可以通过 Jenkinsfile 将其设置到 local.properties 文件中:

    sh 'echo "sdk.dir=/<your_path_to_Android_SDK>" > ./local.properties' 就我而言:
    sh 'echo "sdk.dir=/home/jenkins/Android/Sdk" > ./local.properties'

    除了将其写入 Jenkinsfile 之外,您还可以创建一个自定义 fastlane 通道,在执行 ./gradlew assembleRelease 之前调用上述 shell 命令

    【讨论】:

    • 感谢您的输入,我自己发现了 local.properties(虽然忘了回答我自己的问题),但不知道这是因为缺少 ANDROID_HOME。我在构建节点的主目录中添加了 local.properties 文件,并将其作为 fastlane 说明的一部分复制到构建目录中。
    猜你喜欢
    • 2020-01-25
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    • 2013-05-28
    相关资源
    最近更新 更多