我想在android上移植Trickle(https://github.com/mariusaeriksen/trickle).
到目前为止我想到的是,我需要使用NDK独立工具链交叉编译此应用程序所依赖的各个库,主要是"libevent".
从这篇文章中获得了一些帮助 - http://warpedtimes.wordpress.com/2010/02/03/building-open-source-libraries-with-android-ndk/
我已经设法用以下'build_android.sh'脚本交叉编译libevent:
export ANDROID_ROOT=/home/narayan/installations/android-ndk-r9d
export PATH=$PATH:$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin
export PATH=$PATH:$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/include
#Since it complains about crtbegin and crtend
ln -s $ANDROID_ROOT/platforms/android-19/arch-arm/usr/lib/crtbegin_so.o
ln -s $ANDROID_ROOT/platforms/android-19/arch-arm/usr/lib/crtend_so.o
./configure \
--host=arm-linux-androideabi \
CC=$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux- androideabi-gcc \
LD=$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld \
AR=$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar \
RANLIB=$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ranlib \
CPPFLAGS="-I$ANDROID_ROOT/platforms/android-19/arch-arm/usr/include/" \
CFLAGS="-nostdlib" \
LDFLAGS="-Wl,-rpath-link=$ANDROID_ROOT/platforms/android-19/arch-arm/usr/lib/ -L$ANDROID_ROOT/platforms/android-19/arch-arm/usr/lib/" \
LIBS="-lc -lgcc -L$ANDROID_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.8"
Run Code Online (Sandbox Code Playgroud)
现在,当我为涓流应用程序执行相同操作时,我在上面的涓流项目目录中运行与上面相同的脚本时出现以下错误 -
checking build system type... x86_64-unknown-linux-gnu
checking host system type... arm-unknown-linux-androideabi
checking target system type... arm-unknown-linux-androideabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... …
Run Code Online (Sandbox Code Playgroud)