Skip to content

Commit 72229b9

Browse files
committed
ci:android test added
1 parent edfb133 commit 72229b9

File tree

7 files changed

+131
-5
lines changed

7 files changed

+131
-5
lines changed

.github/workflows/androidbuild.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: android build workflows
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
build:
13+
strategy:
14+
matrix:
15+
include:
16+
- os: ubuntu-24.04
17+
runs-on: ${{ matrix.os }}
18+
19+
steps:
20+
# 检出您的主仓库代码
21+
- name: Checkout main repository code
22+
uses: actions/checkout@v4
23+
24+
- name: Set TERM variable
25+
run: echo "TERM=xterm" >> $GITHUB_ENV
26+
27+
- name: install ndk
28+
run: |
29+
wget https://dl.google.com/android/repository/android-ndk-r27c-linux.zip
30+
unzip ./android-ndk-r27c-linux.zip
31+
mv ./android-ndk-r27c $HOME/android-ndk
32+
33+
- name: Set up Dependency xengine Environment
34+
run: |
35+
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
36+
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Android_Arm64.zip
37+
unzip ./XEngine_Android_Arm64.zip -d ./XEngine_Android_Arm64
38+
mv XEngine_Android_Arm64 $HOME/XEngine_Android_Arm64
39+
40+
- name: make
41+
run: |
42+
cd XEngine_Module
43+
cd jsoncpp
44+
make PLATFORM=android
45+
cd ..
46+
cd tinyxml2
47+
make PLATFORM=android
48+
cd ..
49+
cd XEngine_InfoReport
50+
make PLATFORM=android
51+
cd ..
52+
cd XEngine_Token
53+
make PLATFORM=android
54+
cd ..
55+
cd XEngine_MSGNotify
56+
make PLATFORM=android
57+
cd ..
58+
cd XEngine_AIApi
59+
make PLATFORM=android

XEngine_Module/XEngine_AIApi/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ else
1616
ifeq ($(PLATFORM),mac)
1717
FLAGS = -c
1818
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
1922
else
2023
FLAGS = -c -lc_p
2124
DEBUG = -g -pg -D _DEBUG
@@ -45,6 +48,15 @@ else ifeq ($(PLATFORM),mac)
4548
LIBFLAG = -dynamiclib
4649
LIBEX = -lpthread -ldl
4750
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADHDR += -I $(HOME)/XEngine_Android_Arm64
56+
LOADSO += -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_BaseLib -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_Core -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_Client
57+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
58+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
59+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4860
endif
4961

5062
all:$(OBJECTS)

XEngine_Module/XEngine_InfoReport/Makefile

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ PLATFORM = linux
33
PLATVER =
44
FILEEXT =
55
LIBFLAG =
6-
LOADHDR = -I ./ -I ../jsoncpp
7-
LOADSO = -L ../jsoncpp
6+
LOADHDR = -I ./ -I ../jsoncpp
7+
LOADSO = -L ../jsoncpp
88
LIB = -lXEngine_BaseLib -lXEngine_SystemApi -lXClient_APIHelp -lNetHelp_XSocket -ljsoncpp
99
LIBEX =
1010
OBJECTS = InfoReport_APIMachine.o pch.o
@@ -16,6 +16,9 @@ else
1616
ifeq ($(PLATFORM),mac)
1717
FLAGS = -c
1818
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
1922
else
2023
FLAGS = -c -lc_p
2124
DEBUG = -g -pg -D _DEBUG
@@ -45,6 +48,15 @@ else ifeq ($(PLATFORM),mac)
4548
LIBFLAG = -dynamiclib
4649
LIBEX = -lpthread -ldl
4750
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADHDR += -I $(HOME)/XEngine_Android_Arm64
56+
LOADSO += -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_BaseLib -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_SystemSdk -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_NetHelp -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_Client
57+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
58+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
59+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4860
endif
4961

5062
all:$(OBJECTS)

XEngine_Module/XEngine_MSGNotify/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ else
1616
ifeq ($(PLATFORM),mac)
1717
FLAGS = -c
1818
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
1922
else
2023
FLAGS = -c -lc_p
2124
DEBUG = -g -pg -D _DEBUG
@@ -45,6 +48,15 @@ else ifeq ($(PLATFORM),mac)
4548
LIBFLAG = -dynamiclib
4649
LIBEX = -lpthread -ldl
4750
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADHDR += -I $(HOME)/XEngine_Android_Arm64
56+
LOADSO += -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_BaseLib -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_Client
57+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
58+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
59+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4860
endif
4961

5062
all:$(OBJECTS)

XEngine_Module/XEngine_Token/Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ else
1616
ifeq ($(PLATFORM),mac)
1717
FLAGS = -c
1818
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
1922
else
2023
FLAGS = -c -lc_p
2124
DEBUG = -g -pg -D _DEBUG
@@ -45,6 +48,15 @@ else ifeq ($(PLATFORM),mac)
4548
LIBFLAG = -dynamiclib
4649
LIBEX = -lpthread -ldl
4750
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADHDR += -I $(HOME)/XEngine_Android_Arm64
56+
LOADSO += -L $(HOME)/XEngine_Android_Arm64/XEngine_Android/XEngine_BaseLib
57+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
58+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
59+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4860
endif
4961

5062
all:$(OBJECTS)

XEngine_Module/jsoncpp/Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ PLATVER =
44
FILEEXT =
55
LIBFLAG =
66
LOADHDR = -I ./
7-
LOADSO = -L
7+
LOADSO =
88
LIB =
99
LIBEX =
1010
OBJECTS = json_reader.o json_value.o json_writer.o
@@ -16,6 +16,9 @@ else
1616
ifeq ($(PLATFORM),mac)
1717
FLAGS = -c
1818
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
1922
else
2023
FLAGS = -c -lc_p
2124
DEBUG = -g -pg -D _DEBUG
@@ -45,6 +48,13 @@ else ifeq ($(PLATFORM),mac)
4548
LIBFLAG = -dynamiclib
4649
LIBEX = -lpthread -ldl
4750
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
56+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
57+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4858
endif
4959

5060
all:$(OBJECTS)

XEngine_Module/tinyxml2/Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ PLATFORM = linux
33
PLATVER =
44
FILEEXT =
55
LIBFLAG =
6-
RELEASE = 0
76
LOADHDR = -I ./
8-
LOADSO = -L
7+
LOADSO =
98
LIB =
109
LIBEX =
1110
OBJECTS = pch.o tinyxml2.o
@@ -17,6 +16,9 @@ else
1716
ifeq ($(PLATFORM),mac)
1817
FLAGS = -c
1918
DEBUG = -g -D _DEBUG
19+
else ifeq ($(PLATFORM), android)
20+
FLAGS = -c
21+
DEBUG = -g -D _DEBUG
2022
else
2123
FLAGS = -c -lc_p
2224
DEBUG = -g -pg -D _DEBUG
@@ -46,6 +48,13 @@ else ifeq ($(PLATFORM),mac)
4648
LIBFLAG = -dynamiclib
4749
LIBEX = -lpthread -ldl
4850
LOADBIN = -Wl,-rpath,@loader_path/./
51+
else ifeq ($(PLATFORM), android)
52+
PLATVER = -D __ANDROID__
53+
FILEEXT = so
54+
LIBFLAG = -shared
55+
LOADBIN = -Wl,-rpath=./,--disable-new-dtags
56+
SDKPATH = $(HOME)/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
57+
CC = $(SDKPATH) -Wall -fPIC -std=c++20 -target aarch64-linux-android30
4958
endif
5059

5160
all:$(OBJECTS)

0 commit comments

Comments
 (0)