valgrind交叉编译android版本
valgrind交叉编译android版本
- 背景说明
- 版本
- 1. valgrind-3.26.0和android-ndk-r14b
- 运行
背景说明
实测valgrind交叉编译android版本时会出现各种稀奇古怪的编译和兼容性问题,网上的没有特别详细的方法;主要和android ndk的版本和valgrind的版本都有关系,这里直接贴出来我测试没问题的版本和编译命令。
版本
1. valgrind-3.26.0和android-ndk-r14b
valgrind下载
android NDK下载
下载后执行 build.sh
cd valgrind-3.26.0
mkdir build
cd build
sh build.sh
编译脚本build.sh如下;
#!/usr/bin/env bashexport NDKROOT=/root/code/3rdpart/android-ndk-r14b/export AR=$NDKROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar
export LD=$NDKROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-ld
export CC=$NDKROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gccCPPFLAGS="--sysroot=$NDKROOT/platforms/android-21/arch-arm64" \CFLAGS="--sysroot=$NDKROOT/platforms/android-21/arch-arm64" \../configure --prefix=/data/local/Inst \--host=aarch64-unknown-linux --target=aarch64-unknown-linux \--with-tmpdir=/sdcardmake -j4
make -j4 install DESTDIR=`pwd`/Inst
成功后bin文件路径在/valgrind-3.26.0/build/Inst下
运行
adb push /valgrind-3.26.0/build/Inst/valgrind-3.26.0/* /data/local/tmp/valgrind
adb shell
cd /data/local/tmp/valgrind
chmod +x ./bin/*
chmod +x ./libexec/valgrind/*
export VALGRIND_LIB=/data/local/tmp/valgrind/libexec/valgrind
./bin/valgrind ./test
运行后查看版本

