Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为android交叉编译LTP_Android_Linux_Testing_Cross Compiling - Fatal编程技术网

如何为android交叉编译LTP

如何为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

是否有人交叉编译并使用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 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来源: