/home/andy/Android/Sdk/ndk/28.0.12433566/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/android
export ANDROID_NDK_ROOT=/home/andy/Android/Sdk/ndk/28.0.12433566
export PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
export MIN_SDK_VERSION="android-21"
export OPENSSL_ROOT_DIR=/home/andy/libopenssl
export ANDROID_ABI=.
第一步需要安装 openssl
git clone https://github.com/openssl/openssl.git
cd openssl
./Configure android-arm64 -D__ANDROID_API__=21 --prefix=/path/to/install/openssl
./Configure android-arm64 \
--prefix=/path/to/openssl-install
make
make install
export OPENSSL_ROOT_DIR=/path/to/openssl-install
然后开始下载CURL
git clone https://github.com/curl/curl.git
cd curl
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/28.0.12433566/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-28 -DANDROID_ABI=arm64-v8a -DOPENSSL_ROOT_DIR=$OPENSSL_ROOT_DIR -DOPENSSL_INCLUDE_DIR=$OPENSSL_ROOT_DIR/include -DOPENSSL_CRYPTO_LIBRARY=$OPENSSL_ROOT_DIR/lib/libcrypto.a -DOPENSSL_SSL_LIBRARY=$OPENSSL_ROOT_DIR/lib/libssl.a
make
openssh2 的编译:
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=/home/andy/Android/Sdk/ndk/28.0.12433566/build/cmake/android.toolchain.cmake -DOPENSSL_INCLUDE_DIR="/home/andy/libopenssl/include" -DANDROID_NATIVE_API_LEVEL=$MIN_SDK_VERSION \
-DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-28 \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_ZLIB_COMPRESSION=ON \
-DCRYPTO_BACKEND=OpenSSL -DOPENSSL_SSL_LIBRARY="/home/andy/libopenssl/lib/libssl.so" \
-DOPENSSL_CRYPTO_LIBRARY="/home/andy/libopenssl/lib/libcrypto.so" \
-DCMAKE_INSTALL_PREFIX=$OUTPUT_PATH
cmake --build . --config Release
sudo make install
make clean