如何为android交叉编译LTP
是否有人交叉编译并使用android的LTP,我尝试使用arm eabi工具链、arm linux none gnueabi工具链交叉编译LTP,但我无法在android设备中执行测试用例 首先创建独立工具链(使用脚本)并将其安装到如何为android交叉编译LTP,android,linux,testing,cross-compiling,Android,Linux,Testing,Cross Compiling,是否有人交叉编译并使用android的LTP,我尝试使用arm eabi工具链、arm linux none gnueabi工具链交叉编译LTP,但我无法在android设备中执行测试用例 首先创建独立工具链(使用脚本)并将其安装到/opt/android standalone toolchain.api-${api}中 构建本身: API=24 export TOOLCHAIN_ROOT=/opt/android-standalone-toolchain.api-${API} export S
/opt/android standalone toolchain.api-${api}
中
构建本身:
API=24
export TOOLCHAIN_ROOT=/opt/android-standalone-toolchain.api-${API}
export SYSROOT=$TOOLCHAIN_ROOT/sysroot
export CROSS_COMPILE=$TOOLCHAIN_ROOT/bin/arm-linux-androideabi-
export HOST=arm-linux-androideabi
# Non-exhaustive lists of compiler + binutils
# Depending on what you compile, you might need more binutils than that
export CPP=${CROSS_COMPILE}cpp
export AR=${CROSS_COMPILE}ar
export AS=${CROSS_COMPILE}as
export NM=${CROSS_COMPILE}nm
export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD=${CROSS_COMPILE}ld
export RANLIB=${CROSS_COMPILE}ranlib
export CFLAGS="${CFLAGS} --sysroot=${SYSROOT} -I${SYSROOT}/usr/include \
-I${ANDROID_PREFIX}/include"
export CPPFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} -L${SYSROOT}/usr/lib -L${ANDROID_PREFIX}/lib"
make autotools
./configure --host=${HOST} --with-sysroot=${SYSROOT}
make -j$(getconf _NPROCESSORS_ONLN) ANDROID=1
make install
adb push /opt/ltp /data/local/tmp
学分:使用变量ANDROID=1
记录在LTP源代码的文件中,设置其他变量的灵感来自
但目前,由于需要禁用许多测试,构建失败(bionic不支持许多必需的功能,请参阅google的Make by people)
目前,上游正在努力修复Android的LTP构建。来自谷歌的人,但他们将代码贡献回LTP上游(参见LTP邮件列表中的信息)
一些与安卓系统相关的补丁(来自谷歌和其他公司的人):
目前,在AOSP中使用谷歌的存储库可能更容易(无论是在AOSP树中的树内构建还是使用独立工具链的树外构建),但LTP upstream迟早会从谷歌的存储库中获得android的所有修复。LTP是Linux测试项目,可用于测试任何模块的功能。例如,我们可以使用LTP测试usb驱动程序的功能。它适用于x86系统,我们需要交叉编译才能在android设备上运行。@ZangMingJie:LTP来源: