2011-05-02 19 views
21

In particolare sto cercando di compilare su binary di chainDD. Ho provato a utilizzare ndk-build ma sembra che ho bisogno di impostare NDK_PROJECT_PATH ma ciò che dovrebbe essere impostato su non è descritto nella documentazione.Come si compila un codice nativo semplice usando Android.mk?

+0

Generalmente esegui ndk-build dal tuo progetto: funziona se lo fai? –

+0

Ho eseguito ndk-build e mi sono lamentato di NDK_PROJECT_PATH – user492922

+0

Quale versione dell'NDK stai utilizzando? –

risposta

4

È necessario stabilire la cartella di progetto come questo:

project_root

| _ _ JNI/(includere Android.mk e il vostro codice C/C++)

| _ _ other_directory

La directory JNI non può cambiare nome. ed esegui ndk-build nella directory project_root.

+0

Intendevi aggiungere un po 'di formattazione a questo? La struttura delle cartelle non è molto chiara. – Dutts

+0

Aggiorno la mia risposta, è abbastanza chiaro? – onlyxool

+0

Sì, molto meglio – Dutts

5

In primo luogo, assicurarsi di avere l'NDK:

http://developer.android.com/tools/sdk/ndk/index.html

Ecco il modo più semplice per compilare un binario C per il telefono:

http://developer.android.com/tools/sdk/ndk/index.html

http://www.kandroid.org/ndk/docs/STANDALONE-TOOLCHAIN.html

Di solito $ NDK (può essere diverso) =

Linux:

/home/<user>/android-NDK

Mac OS X:

/Users/<user>/android-NDK

Entrambi: $ HOME/android-ndk

In Terminal:

# create tool-chain - one line 
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-3 --install-dir=/tmp/my-android-toolchain 

# add to terminal PATH variable 
export PATH=/tmp/my-android-toolchain/bin:$PATH 

# make alias CC be the new gcc binary 
export CC=arm-linux-androideabi-gcc 

# compile your C code(I tried hello world) 
$CC -o foo.o -c foo.c 

# push binary to phone 
adb push foo.o /data/local/tmp 

# execute binary 
adb /data/local/tmp/foo.o 

Per favore fatemi sapere se posso aiutare!

Cordiali saluti,

+0

'$ NDK/build/tools/make-standalone-toolchain.sh --platform = android-3 --install-dir =/tmp/my-android-toolchain' può generare un errore' Impossibile eseguire la configurazione automatica dell'arco da toolchain', accoding – Glowin

+0

'$ NDK/build/tools/make-standalone-toolchain.sh --platform = android-3 --install-dir =/tmp/my-android-toolchain' potrebbe generare un errore' Impossibile auto -config arch da toolchain', accodando a questa risposta http://stackoverflow.com/questions/29444079/unable-to-auto-config-arch-from-toolchain, dovrebbe aggiungere '--toolchain = arm-linux-androideabi- 4.8' https://gist.github.com/Tydus/11109634 – Glowin

Problemi correlati