@@ -32,6 +32,7 @@ class GenerateLibs extends DefaultTask {
3232 private final String [] buildEnvs = System . getProperty(' envs' )?. split(' ,' )
3333 private final boolean forWindows = buildEnvs?. contains(' windows' )
3434 private final boolean forLinux = buildEnvs?. contains(' linux' )
35+ private final boolean forAndroid = buildEnvs?. contains(' androidarm64' )
3536 private final boolean forMac = buildEnvs?. contains(' macos' )
3637 private final boolean forMacArm64 = buildEnvs?. contains(' macosarm64' )
3738
@@ -118,6 +119,12 @@ class GenerateLibs extends DefaultTask {
118119 buildTargets + = linux64
119120 }
120121
122+ if (forAndroid) {
123+ buildTargets + = new BuildTarget (Os.Android , Architecture.Bitness . _32, new String [] {" **/*.c" }, new String [0 ],
124+ new String [] {" **/*.cpp" }, new String [0 ], new String [0 ], " " , " -O2 -Wall -D__ANDROID__" , " -O2 -Wall -D__ANDROID__" ,
125+ " -lm -Wl,-z,max-page-size=0x4000 -stdlib=libc++ -lc++_shared" );
126+ }
127+
121128 if (forMac) {
122129 buildTargets + = createMacTarget(Architecture . x86)
123130 }
@@ -137,6 +144,8 @@ class GenerateLibs extends DefaultTask {
137144 BuildExecutor . executeAnt(jniDir + ' /build-windows64.xml' , commonParams)
138145 if (forLinux)
139146 BuildExecutor . executeAnt(jniDir + ' /build-linux64.xml' , commonParams)
147+ if (forAndroid)
148+ BuildExecutor . executeAnt(jniDir + ' /build-android32.xml' , commonParams)
140149 if (forMac)
141150 BuildExecutor . executeAnt(jniDir + ' /build-macosx64.xml' , commonParams)
142151 if (forMacArm64)
@@ -148,6 +157,8 @@ class GenerateLibs extends DefaultTask {
148157 checkLibExist(" windows64/imgui-java64.dll" )
149158 if (forLinux)
150159 checkLibExist(" linux64/libimgui-java64.so" )
160+ if (forAndroid)
161+ checkLibExist(" android64/libimgui-java64.so" )
151162 if (forMac)
152163 checkLibExist(" macosx64/libimgui-java64.dylib" )
153164 if (forMacArm64)
0 commit comments