mirror of
https://github.com/x-tools-author/x-tools.git
synced 2025-09-15 15:28:40 +08:00
87 lines
3.1 KiB
YAML
87 lines
3.1 KiB
YAML
name: build-android
|
|
on:
|
|
schedule:
|
|
- cron: '0 0 * * *'
|
|
workflow_dispatch: # Enables manually
|
|
# on:
|
|
# push:
|
|
# branches:
|
|
# - master
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
QT_MODULES: 'qtcharts qtserialbus qtserialport qtwebsockets'
|
|
jobs:
|
|
build:
|
|
name: Build for Android
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-2022]
|
|
version: [6.8.2]
|
|
env:
|
|
QT_ANDROID_KEYSTORE_PATH: ${{ github.workspace }}\res\android\android_release.keystore
|
|
QT_ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }}
|
|
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.ANDROID_KEYSTORE_STORE_PASS }}
|
|
QT_ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.ANDROID_KEYSTORE_KEY_PASS }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Qt(android)
|
|
uses: jurplel/install-qt-action@v4
|
|
with:
|
|
aqtversion: '==3.1.*'
|
|
target: android
|
|
arch: android_armv7
|
|
host: windows
|
|
dir: ${{ github.workspace }}
|
|
modules: ${{env.QT_MODULES}}
|
|
version: ${{ matrix.version }}
|
|
- name: Install Qt(mingw)
|
|
uses: jurplel/install-qt-action@v4
|
|
with:
|
|
aqtversion: '==3.1.*'
|
|
target: desktop
|
|
arch: win64_mingw
|
|
host: windows
|
|
dir: ${{ github.workspace }}
|
|
modules: ${{env.QT_MODULES}}
|
|
version: ${{ matrix.version }}
|
|
- name: Configure for android
|
|
shell: cmd
|
|
run: |
|
|
git fetch --tags
|
|
set JAVA_HOME=%JAVA_HOME_17_X64%
|
|
${{ github.workspace }}\Qt\${{ matrix.version }}\android_armv7\bin\qt-cmake.bat ^
|
|
-G "MinGW Makefiles" ^
|
|
-S . ^
|
|
-B "build\armeabi_v7a" ^
|
|
-DQT_HOST_PATH:PATH="${{ github.workspace }}\Qt\${{ matrix.version }}\mingw_64" ^
|
|
-DCMAKE_BUILD_TYPE:STRING=Release ^
|
|
-DCMAKE_CXX_COMPILER:FILEPATH="%ANDROID_NDK_ROOT%/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe" ^
|
|
-DANDROID_SDK_ROOT:PATH="%ANDROID_SDK_ROOT%" ^
|
|
-DANDROID_NDK_ROOT:PATH="%ANDROID_NDK_ROOT%" ^
|
|
-DBUILD_SHARED_LIBS:BOOL=OFF ^
|
|
-DWITH_TOOLS:BOOL=OFF
|
|
- name: Dir build\armeabi_v7a
|
|
shell: cmd
|
|
run: dir build\armeabi_v7a
|
|
- name: Build for android
|
|
shell: cmd
|
|
run: |
|
|
set JAVA_HOME=%JAVA_HOME_17_X64%
|
|
echo %JAVA_HOME%
|
|
cmake --build build\armeabi_v7a --target all --config Release
|
|
- name: Deploy for Android
|
|
shell: cmd
|
|
run: |
|
|
set JAVA_HOME=%JAVA_HOME_17_X64%
|
|
echo %JAVA_HOME%
|
|
${{ github.workspace }}\Qt\${{ matrix.version }}\mingw_64\bin\androiddeployqt.exe ^
|
|
--input build\armeabi_v7a\android-xTools-deployment-settings.json ^
|
|
--output build\armeabi_v7a\android-build ^
|
|
--android-platform android-35 ^
|
|
--sign ${{ env.QT_ANDROID_KEYSTORE_PATH }} ${{ env.QT_ANDROID_KEYSTORE_ALIAS }} --storepass ${{ env.QT_ANDROID_KEYSTORE_STORE_PASS }} --keypass ${{ env.QT_ANDROID_KEYSTORE_KEY_PASS }} ^
|
|
--jdk %JAVA_HOME% --gradle --release
|
|
|