Форум для тех, кто программирует под Android
Anonymous
Как опубликовать библиотеку maven в GitHub Actions локально?
Сообщение
Anonymous » 02 июл 2024, 16:06
У меня есть сценарий GitHub Actions для создания приложения Android, но мне нужно включить определенные готовые библиотеки (ktmidi и rtmidi), которые я предварительно собрал на своем локальном компьютере перед началом работы над проектом. Как я могу опубликовать эти библиотеки, чтобы обеспечить правильную сборку приложения Android?
Мой код действий GitHub:
Код: Выделить всё
jobs:
build_android:
name: Assemble android release, send it into App Distribution and notify other team
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: gradle
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev
- name: Download and install RtMidi 4.0.0
run: |
wget http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz
tar -xzvf rtmidi-4.0.0.tar.gz
cd rtmidi-4.0.0
./configure
sudo make install
- name: Set environment variables
run: |
echo "export CPLUS_INCLUDE_PATH=/usr/local/include/rtmidi" >> $GITHUB_ENV
echo "export LIBRARY_PATH=/usr/local/lib" >> $GITHUB_ENV
- name: Clone ktmidi repository
run: git clone https://github.com/atsushieno/ktmidi.git
- name: Build and install ktmidi
working-directory: ./ktmidi
run: ./gradlew publishToMavenLocal
- name: Create keystore
run: echo ${{ secrets.KEYSTORE }} | base64 -d > androidApp/Keystore
- name: Grant permission for gradlew
run: chmod +x gradlew
- name: Bump version
uses: chkfung/android-version-actions@v1.2.1
with:
gradlePath: ${{ env.APPLICATION_PATH }}/androidApp/build.gradle.kts
versionCode: ${{github.run_number}}
- name: Assemble Release
run: ./gradlew assembleRelease -Pandroid.injected.signing.store.file=${{ env.APPLICATION_PATH }}/androidApp/Keystore -Pandroid.injected.signing.store.password=${{ secrets.KEYSTORE_PASSWORD }} -Pandroid.injected.signing.key.alias=${{ secrets.KEY_ALIAS }} -Pandroid.injected.signing.key.password=${{ secrets.KEY_PASSWORD }}
Я добавляю задачу загрузки RtMidi 4.0.0 для локальной публикации этой библиотеки, но получаю проблему: файл «rtmidi/rtmidi_c.h» не найден.
Подробнее здесь:
https://stackoverflow.com/questions/786 ... ns-locally
1719925561
Anonymous
У меня есть сценарий GitHub Actions для создания приложения Android, но мне нужно включить определенные готовые библиотеки (ktmidi и rtmidi), которые я предварительно собрал на своем локальном компьютере перед началом работы над проектом. Как я могу опубликовать эти библиотеки, чтобы обеспечить правильную сборку приложения Android? Мой код действий GitHub: [code]jobs: build_android: name: Assemble android release, send it into App Distribution and notify other team runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Java uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '17' cache: gradle - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev - name: Download and install RtMidi 4.0.0 run: | wget http://www.music.mcgill.ca/~gary/rtmidi/release/rtmidi-4.0.0.tar.gz tar -xzvf rtmidi-4.0.0.tar.gz cd rtmidi-4.0.0 ./configure sudo make install - name: Set environment variables run: | echo "export CPLUS_INCLUDE_PATH=/usr/local/include/rtmidi" >> $GITHUB_ENV echo "export LIBRARY_PATH=/usr/local/lib" >> $GITHUB_ENV - name: Clone ktmidi repository run: git clone https://github.com/atsushieno/ktmidi.git - name: Build and install ktmidi working-directory: ./ktmidi run: ./gradlew publishToMavenLocal - name: Create keystore run: echo ${{ secrets.KEYSTORE }} | base64 -d > androidApp/Keystore - name: Grant permission for gradlew run: chmod +x gradlew - name: Bump version uses: chkfung/android-version-actions@v1.2.1 with: gradlePath: ${{ env.APPLICATION_PATH }}/androidApp/build.gradle.kts versionCode: ${{github.run_number}} - name: Assemble Release run: ./gradlew assembleRelease -Pandroid.injected.signing.store.file=${{ env.APPLICATION_PATH }}/androidApp/Keystore -Pandroid.injected.signing.store.password=${{ secrets.KEYSTORE_PASSWORD }} -Pandroid.injected.signing.key.alias=${{ secrets.KEY_ALIAS }} -Pandroid.injected.signing.key.password=${{ secrets.KEY_PASSWORD }} [/code] Я добавляю задачу загрузки RtMidi 4.0.0 для локальной публикации этой библиотеки, но получаю проблему: файл «rtmidi/rtmidi_c.h» не найден. Подробнее здесь: [url]https://stackoverflow.com/questions/78600444/how-to-publish-maven-library-into-github-actions-locally[/url]