Skip to content

Commit 8ba5b85

Browse files
committed
android bundled ssl with api level 29
1 parent a23665b commit 8ba5b85

File tree

1 file changed

+34
-16
lines changed

1 file changed

+34
-16
lines changed

.github/workflows/main.yml

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)