直接用cygwin交叉编译android ndk的c++可执行程序 不用eclipse
版本:android sdk r15 和 ndk7
安装cygwin、 android sdk r15、ndk7 不在这里赘述。
1,设置cygwin环境变量,位于:D:\cygwin\home\Administrator\.bash_profile 打开,添加以下两句:
ANDROID_NDK_ROOT=/cygdrive/d/Java/android-ndk-r7b
export ANDROID_NDK_ROOT
2,添加windows环境变量: D:\Java\android-sdk-windows\platform-tools
3,创建工程
创建目录F:\test
创建目录F:\test\jni
创建文件F:\test\jni\hello.cpp 写入以下内容
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
创建文件F:\test\jni\Android.mk 写入以下内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.cpp
include $(BUILD_EXECUTABLE)
创建文件F:\test\project.properties 写入以下内容
target=android-15
4,cygwin运行: cd /cygdrive/f/test
5,cygwin编译:$ANDROID_NDK_ROOT/ndk-build
6,上传: adb push F:\test\libs\armeabi\hello /data/local/tmp/hello (请不要push到/mnt/sdcard,可能会出现权限问题无法运行)
7,进入shell: adb shell
8,chmod 777 /data/local/tmp/hello
9,运行你的hello world: /data/local/tmp/hello