mirror of
https://github.com/ocornut/imgui.git
synced 2026-11-07 15:05:47 +01:00
51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
name: Android NDK Build
|
||
|
||
on:
|
||
push:
|
||
branches: [ "master", "main" ]
|
||
workflow_dispatch:
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: ubuntu-latest
|
||
|
||
steps:
|
||
- name: Checkout Code
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Set up JDK 17
|
||
uses: actions/setup-java@v4
|
||
with:
|
||
java-version: '17'
|
||
distribution: 'temurin'
|
||
|
||
# 确保安装了 Ninja 构建工具,Android NDK 编译推荐用这个
|
||
- name: Install Ninja
|
||
run: sudo apt-get install ninja-build
|
||
|
||
- name: Setup Android NDK
|
||
uses: nttld/setup-ndk@v1
|
||
id: setup-ndk
|
||
with:
|
||
ndk-version: r26b # r26b 对 Vulkan 支持很好
|
||
|
||
- name: Build with CMake
|
||
run: |
|
||
mkdir -p build && cd build
|
||
cmake .. \
|
||
-GNinja \
|
||
-DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
|
||
-DANDROID_ABI=arm64-v8a \
|
||
-DANDROID_PLATFORM=android-26 \
|
||
-DCMAKE_BUILD_TYPE=Release \
|
||
-DANDROID_STL=c++_shared
|
||
ninja # 使用 ninja 代替 make,效率更高
|
||
|
||
- name: Upload Artifacts
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: JKMenu-Package
|
||
path: |
|
||
build/libJKMenu.so
|
||
build/jk_injector
|