码迷,mamicode.com
首页 > 系统相关 > 详细

NDK学习4: Eclipse HelloWorld

时间:2016-07-31 22:06:55      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

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)??

?

即可成功运行:

技术分享

?

NDK学习4: Eclipse HelloWorld

标签:

原文地址:http://www.cnblogs.com/bingghost/p/5723976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!