NDK学习4: Eclipse HelloWorld
1.配置Eclipse NDK环境?
Window->preferences->android->ndk
?
2.新建Android工程
在工程目录上点右键->Android Tools-> add native support
这个时候工程会多出一个jni目录
?
3.编辑Hello.cpp
#include?<stdio.h>
int?main(int?argc,?char*?argv[])
{
??printf("Hello?Android!\r\n");
??return?0;
}??
?
4.设置编译属性为可执行
?
5.编译build all
编译完后,代码不报错了,语法高亮和智能提示也出来了
同时Eclipse会在paths and symbols自动加上这些路径
如上步骤
正确完成
没有自动加的,不高亮的
报错的
可能的问题是:
Eclipse程序目录带有空格(天坑 ?我在这里被坑了好久 ?有木有)
?
编译完后会在:
libs目录下生成对应平台架构的可执行文件
?
?
6.运行
连接adb?
新建一个makefile ?也可以使用其他脚本文件
?
脚本流程:
adb push ?将文件压入
adb shell chmod 添加可执行权限
adb shell 执行
运行后发现报错,这个问题是平台不对
?
7.解决平台abi问题
在配置文件中指明生成的abi
?
新建一个Application.mk,输入如下信息
APP_ABI?:=?armeabi-v7a
APP_PLATFORM?:=?android-14??
?
那么问题来了ABI在哪里看呢?在AVD Manager即可查看目标版本的ABI
?
重新编译即可生成
?
此时修改我们的make file脚本:
MODALE_NAME?:=?Hello
all:
????adb?push?.\libs\armeabi-v7a\$(MODALE_NAME)?/data/local/tmp
????adb?shell?chmod?755?/data/local/tmp/$(MODALE_NAME)
????adb?shell?/data/local/tmp/$(MODALE_NAME)??
?
即可成功运行:
?