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)
即可成功运行: