【问题标题】:How to resolve missing android build tools on circleci2.0 android build?如何解决circleci2.0 android build上缺少的android build工具?
【发布时间】:2018-03-10 18:16:03
【问题描述】:

我正在使用 circleci 2.0 运行 android 构建,并使用 circleci/android:api-24-node8-alpha docker 映像收到有关缺少构建工具 failed to find Build Tools revision 24.0.1 的错误。

我为此找到了一个旧解决方案,但它针对的是 1.0 cicrcleci 而不是 2.0。 - https://discuss.circleci.com/t/installing-android-build-tools-23-0-2/924 .

我尝试了问题中的修复,但 dependencies 似乎没有按照上面链接中的建议在 YAML 中被提取。

问题: 知道为什么在 circleci/android docker 映像中没有选择构建工具吗?

在circleci工作流程中得到的错误如下:

command: ./gradlew androidDepedencies

错误:

正在配置 > 2/3 个项目失败:构建失败并出现异常。 * 什么地方出了错: 配置项目 ':app' 时出现问题。 找不到构建工具修订版 24.0.1

这是我的 android 工作规范和my repo config.yaml 的链接:

 android:
    working_directory: ~/repo/android
    docker:
      - image: circleci/android:api-24-node8-alpha
    dependencies:
      pre:
        - echo y | android update sdk --no-ui --all --filter "tools"
        - echo y | android update sdk --no-ui --all --filter "build-tools-24.0.1"
    steps:
      - checkout:
          path: ~/repo
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - attach_workspace:
          at: ~/repo
      - run: echo 'export TERM=xterm' >> $BASH_ENV
      - run: sudo chmod +x ./gradlew
      - run: ./gradlew androidDepedencies    
      - run: ./gradlew assembleRelease

【问题讨论】:

    标签: android build.gradle android-build circleci-2.0


    【解决方案1】:

    我认为在 CCI2.0 中可以避免“依赖”。

    依赖: 前: - 回声 y | android update sdk --no-ui --all --filter "tools" - 回声 y | android update sdk --no-ui --all --filter "build-tools-24.0.1"

    如您所知,CCI2.0 在基于 docker 映像的系统上运行。你可以找到 docker 镜像文件 herehere。 如果您查看 DockerFile,您可以看到所有接受许可并更新 SDKManager 的代码。

    您可能需要按照以下步骤操作

    • 代码签出
    • 恢复缓存
    • 下载依赖项
    • 保存缓存
    • 组装发布
    steps:
      - checkout
      - restore_cache:
          key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
      - run:
          name: Download Dependencies
          command: |
                  sudo chmod +x gradlew
                  ./gradlew androidDependencies
      - save_cache:
          paths:
            - ~/.gradle
          key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}
      - run:
          name: Take Build
          command: |
               ./gradlew clean
               ./gradlew assembleRelease
    

    你可以找到一个示例配置文件here

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 2020-01-05
      • 2018-10-12
      • 2018-12-08
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 2021-09-14
      相关资源
      最近更新 更多