android - Github Action : Build-tool 33. 0.0 缺少 DX 在/usr/local/lib/android/sdk/build-tools/33.0.0/dx

标签 android cordova jenkins github-actions

我正在尝试使用 github 操作生成 android apk。我的项目是使用Vue + Cordova开发的。

我已经编写了 github 工作流程,但出现以下错误:

Build-tool 33.0.0 is missing DX at /usr/local/lib/android/sdk/build-tools/33.0.0/dx

enter image description here

name: Build Android

on:
  push:
    branches:
      - production
      - staging
      - test

jobs:
  build:
    name: Build APK
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v2

      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8

      - name: Setup Android SDK
        uses: android-actions/setup-android@v2

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Install Cordova
        run: npm install -g cordova

      - name: Install Vue
        run: npm install -g @vue/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="50333c3910657e607e61" rel="noreferrer noopener nofollow">[email protected]</a>

      - name: Install app dependencies
        run: npm install

      - name: Generate Build
        run: npm run build

      - name: Add Android platform
        run : |
          cordova platform add android

      - name: Build Android Dev APK
        run: |
          cordova build android

      - name: Upload dev APK
        uses: actions/upload-artifact@v1
        with:
          name: app-dev
          path: platforms/android/app/build/outputs/apk/debug/app-debug.apk

最佳答案

我可以通过将 d8 文件重命名为 dx 来解决这个问题。这是更新的工作流程..

name: Build Android

on:
  push:
    branches:
      - production
      - staging
      - test

jobs:
  build:
    name: Build APK
    runs-on: ubuntu-latest
    steps:
      - name: Checkout source
        uses: actions/checkout@v2

      - name: Set up JDK 1.8
        uses: actions/setup-java@v1
        with:
          java-version: 1.8

      - name: Setup Android SDK
        uses: android-actions/setup-android@v2

      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Install Cordova
        run: npm install -g cordova

      - name: Install Vue
        run: npm install -g @vue/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="2c4f40456c19021c021d" rel="noreferrer noopener nofollow">[email protected]</a>

      - name: Install app dependencies
        run: npm install

      - name: Generate Build
        run: npm run build

      - name: Fixing Android Build Tool Issue
        run: |
            cd $ANDROID_HOME/build-tools/33.0.0
            mv d8 dx
            cd lib
            mv d8.jar dx.jar

      - name: Add Android platform
        run : |
          cordova platform add android

      - name: Build Android Dev APK
        run: |
          cordova build android

      - name: Upload dev APK
        uses: actions/upload-artifact@v1
        with:
          name: app-dev
          path: platforms/android/app/build/outputs/apk/debug/app-debug.apk

关于android - Github Action : Build-tool 33. 0.0 缺少 DX 在/usr/local/lib/android/sdk/build-tools/33.0.0/dx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73226550/

相关文章:

android - OpenGL ES 1.0 : Six colors cube automatic rotation but some faces are missing whether i (un)comment some code !

java - 位图 getWidth 返回错误值

ios - Ionic 平台命令因 'Cannot read property ' split' of undefined' 突然失败

git - 克隆到子目录时的 SonarQube Jenkins/git 集成

jenkins - 如何在 jenkins 2 管道中使用 FileParameterValue

android - Scrollview 作为 CoordinatorLayout 的子项时,工具栏不会折叠

android - 我们可以在 Android 上的 OpenGL ES 上使用非 2 的幂纹理吗?

javascript - 双击后退按钮 Cordova

android - 捕获 "page finished loading"事件并使用 xwalk webview 在 ionic/cordova MainActivity.java 中做一些事情

php - 尝试在Jenkins中执行测试,但不存在供应商目录