curl for android

发布于:2025-07-05 ⋅ 阅读:(17) ⋅ 点赞:(0)

android设备调试网络出现异常了,发现没有对应的调试工具,因此自己编译了一个。
分享下编译过程。

https://curl.se/download/curl-8.7.1.tar.gz
https://www.openssl.org/source/openssl-3.0.10.tar.gz

#可以直接执行此脚步完成 openssl 的编译


export NDK=/home/liucx/Android/Sdk/ndk/28.0.12433566
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export PATH=$TOOLCHAIN/bin:$PATH

export TARGET=aarch64-linux-android
export API=28

export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
export AR=$TOOLCHAIN/bin/llvm-ar
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib

./Configure \
    android-arm64 \
    -D__ANDROID_API__=$API \
    --prefix=$(pwd)/android-build \
    --openssldir=$(pwd)/android-build \
    no-shared \
    no-tests \
    no-asm    

make -j$(nproc)
make install
#openssl编译完成后,可以直接执行此脚步完成 curl的编译

export NDK=/home/liucx/Android/Sdk/ndk/28.0.12433566
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export PATH=$TOOLCHAIN/bin:$PATH

export TARGET=aarch64-linux-android
export API=28

export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
export AR=$TOOLCHAIN/bin/llvm-ar
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib

export OPENSSL_PATH=//home/liucx/Android/curl_tool/openssl-3.0.10/android-build




./configure \
    --host=$TARGET \
    --with-openssl=$OPENSSL_PATH \
    --disable-shared \
    --enable-static \
    --prefix=$(pwd)/android-build \
    CC=$CC \
    AR=$AR \
    RANLIB=$RANLIB \
    CFLAGS="-fPIC" \
    LDFLAGS="-static"

make -j$(nproc)
make install