如何使用Android.mk编译简单的本机代码?

use*_*922 25 android-ndk

特别是我正在尝试编译chainDD的su二进制文件.我试图使用ndk-build但似乎我需要设置NDK_PROJECT_PATH但是应该设置的内容没有在文档中描述.

Jar*_*ows 8

首先,确保你有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(可能不同)=

Linux的:

/ home/<user>/ android-ndk

Mac OS X:

/ Users/<user>/ android-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
Run Code Online (Sandbox Code Playgroud)

如果我能提供帮助,请告诉我!

问候,


onl*_*ool 4

您需要像这样建立项目文件夹:

项目根目录

| _ _ jni/ (包括 Android.mk 和您的 C/C++ 代码)

| _ _其他目录

jni目录不能更改名称。并在project_root目录中运行ndk-build。