0

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

我为此找到了一个旧的解决方案,但它针对的是 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 工作规范和我的 repo config.yam l 的链接:

 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
4

1 回答 1

0

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

依赖项:pre: - echo y | android update sdk --no-ui --all --filter "tools" - echo y | android 更新 sdk --no-ui --all --filter "build-tools-24.0.1"

如您所知,CCI2.0 在基于 docker 映像的系统上工作。您可以在此处此处找到 docker 映像文件。如果您查看 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

您可以在此处找到示例配置文件

于 2018-05-23T06:09:13.603 回答