NDK学习4: Eclipse HelloWorld

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

?

即可成功运行:

?

时间: 2024-10-27 13:07:27

NDK学习4: Eclipse HelloWorld的相关文章

【NDK开发】eclipse集成环境使用NDK开发android

今天学习了一下android NDK,所以记录下来.据说NDK从r7开始自带编译器,在windows上无需配置cygwin的环境.现在我使用NDK r10来开发. 上午搭建的NDK并写了一个实例,不过并没有很好的使用eclipse的功能,如果开发的话可能比较慢. 1)首先,在eclips中配置NDK路径 在eclipse中点击菜单栏window-Perferences,配置NDK的路径.图一为NDK所在的路径.                                           

android的ndk学习(1)

android的ndk学习(1) 之前学了一段时间ndk,总觉得要总结一下.ndk使得非常方便地实现java和C与C++代码的相互沟通,合理地掌握使用ndk可以提高应用程序的执行效率,所以对于学习anndroid开发的人来说,ndk是必须掌握的工具.刚刚开始学习的时候是有点兴奋,有点害怕的,兴奋是因为之前学过C++语言,能将学过的东西结合在一起,感觉可以做出更好的东西,害怕的是之前听身边的大神说ndk在android开发中是非常难的内容之一.但是不管怎么说我还是找了本书,看了视频,找了一些电子资

Android NDK学习笔记(一) 为什么要用NDK?

NDK是什么 NDK是Native Development Kit的简称,即本地开发工具包.通过NDK,Android允许开发人员使用本地代码语言(例如C/C++)来完成应用的部分(甚至全部)功能.注意:由于翻译原因,有些地方也把Native翻译为"原生". NDK是SDK的一个补充,可以帮助你做这些事情: 生成可以在ARM CPU,Android 1.5(及以上)平台运行的JNI兼容的共享库. 将生成的共享库放置在应用程序项目路径的合适位置,使其能自动地添加进你最终的(和经过签名的)

ndk学习17: jni之Java调用C&C++

一.Hello World 1. 定义函数原型 native关键字定义的函数即为jni函数 2.生成头文件 切换到src目录执行: (这个过程可以写脚本自动完成,比如自动拷贝到jni目录) javah -jni 包名.类名 在根目录下生成: org_bing_testjni_MainActivity.h 3. 工程中添加jni代码 工程右键->添加native code->输入名字->finish 多了如下文 新建一个Application.mk,配置相关选项(详细查看ndk有关Appl

ndk学习18: JNI之C&C++调用Java

一.Java反射机制 先了解Java反射机制原理 例子网上很多,反射很灵活 二. 在JNI层调Java 用途: Java层逆向比较容易,增加逆向门槛,把调用都写到JNI层,  让Java层无调用关系 注意: C和C++有所不同,这里使用C++作为例子 1. 首先在代码中提供一个ShowLog函数 private void ShowMsg() { Log.d("_BING_", "ShowMsg"); } 2. 在上次的Add例子加入代码 JNIEXPORT jint

两分钟学会Android平台NDK编程(无须Eclipse和cygwin,可使用命令行打包多个so)

之前在进行cocos2dx开发时,已经详细介绍了如何将win32的c++代码移植到Android平台,当再次回顾时,发现一些基础的东西理解并不是很彻底,今天使用Android NDK提供的一个例子做一个简单的移植.在进行该demo前,请确认你已经配置了Android开发环境和安装了最新的Android NDK. 1.创建Android项目 创建一个Android项目 , 包名是com.example.hellojni,创建一个Activity作为程序进入的Acitivity,命名为HelloJn

MOOS学习笔记2——HelloWorld回调

MOOS学习笔记2--HelloWorld回调 例程 #include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h" bool OnConnect(void* pParam){ CMOOSCommClient *pC=reinterpret_cast<CMOOSCommClient*>(pParam); pC->Register("Greeting",0.0); return true; } //用于SetO

MOOS学习笔记1——HelloWorld

MOOS学习笔记1--HelloWorld 例程 /* * @功能:通讯客户端的最简单程序,向MOOSDB发送名为"Greeting" * 数据"Hello",并向MOOSDB订阅该信息,接收信息后显示 * 出来 */ /* * @功能:插入通讯类头文件 * @介绍:MOOSAsyncCommClient与DB连接以后启动两个不同步的读写线程, * 极大的减少了时间延迟. */ #include"MOOS/libMOOS/Comms/MOOSAsyncCo

NDK学习一: 环境搭建Eclipse篇

下载NDK 国内的一个镜像站点 下载速度比较快 http://wear.techbrood.com/tools/sdk/ndk/#Installing 网上搭建环境的方案有很多 1. Eclipse + ADT + NDK 2. AndroidStudio + NDK 3. VS + NDK 4. VS + VisualGDB  (安装完就可以用了,VisualGDB收费) 5. 编辑器(比如sublime) + NDK 不过在以上环境搭建方案之前 我们先配置好NDK_ROOT 配置NDK_RO