@@ -38,41 +38,37 @@ jobs:
3838 - os : ubuntu-latest
3939 arch : arm64-v8a
4040 configure :
41- --host aarch64-linux-android30
42- --with-ssl
43- --without-ca-bundle
44- --without-ca-path
41+ --host aarch64-linux-android29
42+ --with-openssl=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr
4543 LIBS="-lssl -lcrypto"
4644 AR=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
4745 AS=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as
48- CC=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30 -clang
49- CXX=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30 -clang++
46+ CC=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29 -clang
47+ CXX=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29 -clang++
5048 LD=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
5149 RANLIB=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib
5250 STRIP=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip
5351 name : android
5452 make :
5553 PLATFORM=android
56- CC=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android30 -clang
54+ CC=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29 -clang
5755 - os : ubuntu-latest
5856 arch : x86_64
5957 configure :
60- --host x86_64-linux-android30
61- --with-ssl
62- --without-ca-bundle
63- --without-ca-path
58+ --host x86_64-linux-android29
59+ --with-openssl=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr
6460 LIBS="-lssl -lcrypto"
6561 AR=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar
6662 AS=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as
67- CC=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android30 -clang
68- CXX=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android30 -clang++
63+ CC=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android29 -clang
64+ CXX=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android29 -clang++
6965 LD=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/ld
7066 RANLIB=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib
7167 STRIP=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip
7268 name : android
7369 make :
7470 PLATFORM=android
75- CC=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android30 -clang
71+ CC=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android29 -clang
7672 sqlite-amalgamation-zip : https://sqlite.org/2025/sqlite-amalgamation-3490100.zip
7773 - os : macos-latest
7874 configure :
@@ -113,6 +109,28 @@ jobs:
113109 tag : ' curl-8_12_1'
114110 extract : true
115111 fileName : curl-*.tar.gz
112+
113+ - name : build openssl
114+ if : matrix.name == 'android'
115+ run : |
116+ git clone https://github.com/openssl/openssl.git
117+ cd openssl
118+ export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64
119+ export ARCH=${{ matrix.arch }}
120+ export PATH=$TOOLCHAIN/bin:$PATH
121+
122+ ./Configure android-${{ matrix.arch == 'arm64-v8a' && 'arm64' || matrix.arch }} \
123+ --prefix=$PWD/build \
124+ --openssldir=$PWD/build/ssl \
125+ no-shared \
126+ no-unit-test \
127+ -D__ANDROID_API__=29
128+ make
129+ make install_sw
130+
131+ cp build/lib/libssl.a $TOOLCHAIN/sysroot/usr/lib/
132+ cp build/lib/libcrypto.a $TOOLCHAIN/sysroot/usr/lib/
133+ cp -r build/include/openssl $TOOLCHAIN/sysroot/usr/include/
116134
117135 - name : build curl
118136 run : |
@@ -221,7 +239,7 @@ jobs:
221239 export ${{ matrix.make }}
222240 $CC sqlite-amalgamation-*/shell.c sqlite-amalgamation-*/sqlite3.c -o sqlite3 -ldl
223241 # remove unused folders to save up space
224- rm -rf sqlite-amalgamation-*.zip sqlite-amalgamation-* curl-*
242+ rm -rf sqlite-amalgamation-*.zip sqlite-amalgamation-* curl-* openssl
225243 echo "::endgroup::"
226244
227245 echo "::group::prepare the test script"
@@ -237,7 +255,7 @@ jobs:
237255 if : matrix.name == 'android' && matrix.arch != 'arm64-v8a'
238256 uses :
reactivecircus/[email protected] 239257 with :
240- api-level : 30
258+ api-level : 29
241259 arch : ${{ matrix.arch }}
242260 script : |
243261 adb root
0 commit comments