2013-02-28 3 views
5

Gebäude valgrind-3.8.1 auf Ubuntu 12.04 mit NDK-r6 oder NDK-R8d fehlgeschlagen mit folgenden Fehler:Gebäude Valgrind für Android

... 
cc1: Error: not rekognized option "-marm" 
priv/main_globals.c:1:0: Error: wrong Value (cortex-a8) for -mtune=switch 
... 

Mein Build-Skript:

export NDKROOT=/home/stefan/android-ndk-r6-crystax-2 
export HWKIND=generic 
PATH=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin:$PATH 
PATH=$PATH:$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.4.3 
export CROSS_COMPILE=arm-linux-androideabi- 
export AR=${CROSS_COMPLIE}ar 
export LD=${CROSS_COMPLIE}ld 
export CC=${CROSS_COMPLIE}gcc 
export CXX=${CROSS_COMPLIE}g++ 
export CPP=${CROSS_COMPLIE}cpp 

./autogen.sh CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm -DANDROID_HARDWARE_$HWKIND" CFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm" 
./configure --prefix=/data/local/Inst --host=armv7-unknown-linux --target=armv7-unknown-linux --with-tmpdir=/tmp 

Und schließlich

make  

:)

Irgendwelche Ideen? DANK

Auch würde ich Binärdateien builded accept;))

+0

Es gibt ein Android. mk verfügbar für Valgrind im Android Source Tree. Siehe z.B. https://android.googlesource.com/platform/external/valgrind/+/master/main – Michael

+0

cool, ich werde das überprüfen! :) – oc1d

+0

hmm .. aber wie kompilieren Sie das eigentlich? in jni Ordner legen? Damit ist in Android.mk kein Include-Pfad definiert und Build ist fehlgeschlagen :( – oc1d

Antwort

2

Folgen Sie den Anweisungen auf dieser Seite: http://valgrind.org/docs/manual/dist.readme-android.html

Sie nicht valgrind kompilieren wie für Ihre Anwendung embbeded, aber Sie einen Arm-kompatibel kompilieren Valgrind binary auf Ihrem Computer, verbunden mit der android-ndk-Bibliothek, und dann können Sie valgrind in einem Ordner auf Ihrem Gerät oder Simulator versenden. Das sind ungefähr 130 MB Daten.

Beachten Sie, dass das Gerät gerootet werden muss.

Wenn Sie dann Valgrind mit Ihrer Android-App ausführen möchten, müssen Sie Valgrind an die App anhängen. Dazu hier: How to start an android app with valgrind