2011-05-02 6 views
21

특히 chainDD의 su 바이너리를 컴파일하려고합니다. 나는 ndk-build을 사용하려했지만 NDK_PROJECT_PATH을 설정해야하지만이 설정을 문서에 설명되어 있지 않은 것으로 보입니다. |Android.mk를 사용하여 간단한 네이티브 코드를 컴파일하는 방법은 무엇입니까?

project_root

을 :

+0

일반적으로 프로젝트 내에서 ndk-build를 실행합니다 - 이렇게하면 작동합니까? –

+0

ndk-build를 실행했고 NDK_PROJECT_PATH에 대해 불평했습니다. – user492922

+0

어떤 NDK 버전을 사용하고 있습니까? –

답변

4

는이 같은 프로젝트 폴더를 설정 필요 _ _ jni/(Android.mk 및 C/C++ 코드 포함)

| _ _ other_directory

jni 디렉토리의 이름을 변경할 수 없습니다. 그리고 project_root 디렉토리에서 ndk-build를 실행하십시오.

+0

여기에 서식을 추가 하시겠습니까? 폴더 구조가 명확하지 않습니다. – Dutts

+0

답변을 업데이트합니다.이 정도면 충분합니까? – onlyxool

+0

예, 훨씬 좋음 – Dutts

5

첫째, 반드시 당신이 NDK해야합니다

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

휴대 전화를위한 C 바이너리를 컴파일하는 가장 쉬운 방법입니다 :

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

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

가 보통 $ NDK (다를 수 있음) =

(210)

리눅스 :

/홈/<user>/안드로이드 NDK

맥 OS X :

/사용자/<user>/안드로이드 NDK

모두 : $ HOME/android-ndk

터미널에서 :

# 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 

내가 도와 줄 수 있으면 알려주십시오!

감사합니다,

+0

'$ NDK/build/tools/make-standalone-toolchain.sh --platform = android-3 --install-dir =/tmp/my-android-toolchain'은''arch를 자동 설정하지 못합니다. toolchain', accoding – Glowin

+0

$ NDK/build/tools/make-standalone-toolchain.sh --platform = android-3 --install-dir =/tmp/my-android-toolchain'은 자동으로 실행되지 않습니다 -config arch from toolchain'을 입력하면이 답변에 해당합니다. http://stackoverflow.com/questions/29444079/unable-to-auto-config-arch-from-toolchain, --toolchain = arm-linux-androideabi- 4.8' https://gist.github.com/Tydus/11109634 – Glowin

관련 문제