You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中发布本地预构建Maven库以完成Android构建?

问题:GitHub Actions构建Android应用时提示'rtmidi/rtmidi_c.h'文件未找到

我有一个用于构建Android应用的GitHub Actions脚本,需要引入项目开发前在本地预构建的ktmidi和rtmidi库以确保Android应用能正确构建。我添加了下载RtMidi 4.0.0的任务来本地发布该库,但构建时出现错误:'rtmidi/rtmidi_c.h' file not found。

以下是相关GitHub Actions代码:

当前版本

...
jobs:
  build_android:
    name: Assemble android release, send it into App Distribution and notify other team
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Install Dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen

      - name: Grant Permission for gradlew
        run: chmod +x gradlew

      - name: Initialize and Update Git Submodules
        run: git submodule update --init --recursive

      - name: Assemble Release
        run: ./gradlew assembleRelease ...

旧版本

jobs:
  build_android:
    name: Assemble android release, send it into App Distribution and notify other team
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Install Dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen
      - name: Setup NDK Workaround
        run: sudo mkdir -p /usr/local/lib/android/sdk/ndk && sudo chmod 777 /usr/local/lib/android/sdk/ndk

      - name: Build and Publish ktmidi to Local Maven
        run: |
         ls -l ktmidi/
         sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi/build.gradle.kts
         sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-jvm-desktop/build.gradle
         sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-native-ext/build.gradle.kts
         ./build-rtmidi.sh
         ./gradlew --warning-mode all build publishToMavenLocal
        env:
          GITHUB_TOKEN: ${{ secrets.MAVEN_PAT }}
          OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
          OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
          SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
          SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
          SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE }}

内容的提问来源于stack exchange,提问作者Denis Popkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:35:01