(OK) compile_curl_for_android-x86_64-6.0.txt


compile_curl_for_android-x86_64-6.0.txt

[root@localhost android-x86]# wget https://curl.haxx.se/download/curl-7.50.0.tar.bz2

[root@localhost curl-7.50.0]# pwd
/opt/android-x86/curl-7.50.0
[root@localhost curl-7.50.0]# 

******************************************************************************
[root@localhost curl-7.50.0]# gedit ./src/tool_getpass.c

#ifdef HAVE_GETPASS_R
//#ifndef HAVE_GETPASS_R
******************************************************************************
-----
Note: no use
-----
// update the config.sub and config.guess files (the ones in the libreadline source are very old and don't have arm-linux-androideabi)

cp /usr/share/automake-1.15/config.{sub,guess} support/
-----



-----
Note: first, execute autoconf:  it looks like a stale `configure', can regenerate it using autoconf.
-----

autoconf

make clean

export NDK_ROOT="/opt/android-on-linux/android-ndk-r12"
export SYSROOT="$NDK_ROOT/platforms/android-23/arch-x86_64"
export CFLAGS="-g --pipe --sysroot=$SYSROOT -fPIE -I$NDK_ROOT/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/include-fixed/ -I$NDK_ROOT/platforms/android-23/arch-x86_64/usr/include -I$NDK_ROOT/sources/cxx-stl/llvm-libc++/libcxx/include/ -I$NDK_ROOT/sources/android/support/include/"
export CPPFLAGS="$CFLAGS"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="--sysroot=$SYSROOT -fPIE -pie -L$NDK_ROOT/platforms/android-23/arch-x86_64/usr/lib/ -L$NDK_ROOT/sources/cxx-stl/stlport/libs/x86_64 -L$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/x86_64 -L$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64 -shared -lstlport_shared -lm -lc++ -lc"
export CPATH="/opt/android-on-linux/android-ndk-r12/toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin"
export CPP="$CPATH/x86_64-linux-android-cpp"
export CXX="$CPATH/x86_64-linux-android-g++"
export CC="$CPATH/x86_64-linux-android-gcc"
export LD="$CPATH/x86_64-linux-android-ld"
export AR="$CPATH/x86_64-linux-android-ar"
export STRIP="$CPATH/x86_64-linux-android-strip"
export OBJDUMP="$CPATH/x86_64-linux-android-objdump"
export RANLIB="$CPATH/x86_64-linux-android-ranlib"

./configure --host=x86_64-android-linux --without-libpsl 
 --prefix=/opt/android-x86/curl-7.50.0/out 
 --exec-prefix=/opt/android-x86/curl-7.50.0/out


make -j4

make install

[root@localhost curl-7.50.0]# ls out/
bin  include  lib  share

+++++++++++++++++++++++++++++++++++++++++++++++++++++++
adb connect 192.168.56.3 && adb -s 192.168.56.3 root
adb connect 192.168.56.3

adb shell mount -o remount,rw /system
adb shell mount -o remount,rw /

// adb shell mkdir -p /system/xbin/curl

adb push out/bin/curl /system/xbin/
adb push out/lib/libcurl.so /system/lib64/





原文地址:https://www.cnblogs.com/ztguang/p/12645861.html