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

时间:2011-05-02 11:07:59

标签: android-ndk

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

2 个答案:

答案 0 :(得分:7)

首先,确保你有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的:

/家庭/ <user> /机器人-NDK

Mac OS X:

/用户/ <user> /机器人-NDK

<强>两个 $ HOME /机器人-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

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

此致

答案 1 :(得分:4)

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

project_root

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

| _ _ other_directory

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