Skip to content

Commit d9878eb

Browse files
committed
add x86_64 support for Android
1 parent 4f372e8 commit d9878eb

3 files changed

Lines changed: 43 additions & 7 deletions

File tree

.github/workflows/build_library.yaml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -946,15 +946,30 @@ jobs:
946946
run: |
947947
export LD_LIBRARY_PATH=""
948948
cd build
949-
cmake .. -DLIBRARY_SUFFIX="${{ env.PLATFORM }}" -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8-a ${{ env.CMAKE_COMMON }} ${{ env.CMAKE_COMMON_JOBS }} ${{ env.CMAKE_COMMON_DIR }}
950-
cmake --build . --config Release -j $(nproc)
949+
for arch in "arm64-v8a,armv8-a" "x86_64,x86-64";do
950+
ABI=`echo $arch | cut -d',' -f1`
951+
MARCH=`echo $arch | cut -d',' -f2`
952+
953+
mkdir $ABI libs/$ABI
954+
cd $ABI
955+
cmake ../.. -DLIBRARY_SUFFIX="${{ env.PLATFORM }}" -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=$ABI -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=$MARCH ${{ env.CMAKE_COMMON }} ${{ env.CMAKE_COMMON_JOBS }} ${{ env.CMAKE_COMMON_DIR }}
956+
cmake --build . --config Release -j $(nproc)
957+
cd ..
958+
959+
mv libs/libundreamai_${{ env.PLATFORM }}.so libs/$ABI
960+
done
951961

952962

953-
- id: pack_artifacts_unix
963+
- id: pack_artifacts_android
954964
name: Pack artifacts
955965
run: |
956966
rm -f build/libs/undreamai_test
957-
zip -j ${{ env.UPLOAD_NAME }} build/licenses/* build/libs/*
967+
cd build
968+
for d in libs licenses;do
969+
cd $d
970+
zip -r ../../${{ env.UPLOAD_NAME }} *
971+
cd ..
972+
done
958973
959974
- id: upload
960975
name: Upload Artifacts

.github/workflows_template/build_library_steps.yaml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,8 +271,29 @@ jobs:
271271
run: |
272272
export LD_LIBRARY_PATH=""
273273
cd build
274-
cmake .. -DLIBRARY_SUFFIX="${{ env.PLATFORM }}" -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8-a ${{ env.CMAKE_COMMON }} ${{ env.CMAKE_COMMON_JOBS }} ${{ env.CMAKE_COMMON_DIR }}
275-
cmake --build . --config Release -j $(nproc)
274+
for arch in "arm64-v8a,armv8-a" "x86_64,x86-64";do
275+
ABI=`echo $arch | cut -d',' -f1`
276+
MARCH=`echo $arch | cut -d',' -f2`
277+
278+
mkdir $ABI libs/$ABI
279+
cd $ABI
280+
cmake ../.. -DLIBRARY_SUFFIX="${{ env.PLATFORM }}" -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=$ABI -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=$MARCH ${{ env.CMAKE_COMMON }} ${{ env.CMAKE_COMMON_JOBS }} ${{ env.CMAKE_COMMON_DIR }}
281+
cmake --build . --config Release -j $(nproc)
282+
cd ..
283+
284+
mv libs/libundreamai_${{ env.PLATFORM }}.so libs/$ABI
285+
done
286+
287+
- name: Pack artifacts
288+
id: pack_artifacts_android
289+
run: |
290+
rm -f build/libs/undreamai_test
291+
cd build
292+
for d in libs licenses;do
293+
cd $d
294+
zip -r ../../${{ env.UPLOAD_NAME }} *
295+
cd ..
296+
done
276297
277298
################################ iOS ################################
278299

.github/workflows_template/build_library_template.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ jobs:
277277
@@set_ndk_var_linux@@
278278
@@cmake_build_android@@
279279

280-
@@pack_artifacts_unix@@
280+
@@pack_artifacts_android@@
281281
@@upload@@
282282

283283
################################ iOS ################################

0 commit comments

Comments
 (0)