第一天上午-应用回顾05-android ndk编程谷歌联合实验室_第1页
第一天上午-应用回顾05-android ndk编程谷歌联合实验室_第2页
第一天上午-应用回顾05-android ndk编程谷歌联合实验室_第3页
第一天上午-应用回顾05-android ndk编程谷歌联合实验室_第4页
第一天上午-应用回顾05-android ndk编程谷歌联合实验室_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大学谷歌联合使用NDK的场合安装Cygwin安装CDT使用NDK来开发项目使用NDKNDK:Native

Development

Kits使用本地C/C++语言可以处理一些性能敏感或复杂的算法,通过JNI(Java

NativeInterface)的方式,让Java调用C/C++编写的方法JNI调用本身也比较耗时,所以如果本身不复杂或者并非一定要用JNI实现的,不要用它实现安装CygwinCygwin是一个Linux/Unix模拟器,可以使用它来模拟Linux/Unix开发环境,并且可以灵活的根据需求,下载安装所需要的

包,通过它,我们可以使用Linux中的GCC编译器和Make等安装启动界面选择安装方式选择安装选择选择连接方式选择镜像选择安装包选择安装包选择安装包,至少需要如下的安装包:autoconf2.1automake1.10Binutilsgcc-coregcc-

g++gcc4-coregcc4-g++GdbPcrepcre-develGawkmake安装Cygwin安装Cygwin安装完成后,启动cygwin,在其中输入gcc命令,应该出现类似下图的输出信息,或者输入gcc–version,应该出现版本信息在Cygwin中配置NDK首先需要到Android官网上

NDK,本课程所使用的NDK版本为NDKr5c版本进入Cygwin安装/home/你的windows用户名,找到下面的.bash_profile文件,备份一份,然后在最后加入如下2行配置:NDK=/cygdrive/D/Android/android-ndk-r5cexport

NDK其中,D为NDK所在的盘符,Android/android-ndk-r5c为android

NDK的r5c,例如上面的配置,说明其NDK放在D:\\Android/androi-ndk-下打开Cygwin,输入$NDK,如果能正确输出刚才设置的文件,说明配置成功。安装CDTCDT为Eclipse下的C/C++编辑、编译工具包,可以通过这个工具包,让我们能通过Eclipse来开发C/C++程序安装CDT安装CDT安装CDT创建NDK项目在Android中新建一个Android

Project,命名为

o-jni在这个项目根

中,新建一个jni

,在里面可以编写你的C程序,以及一个用于make的Android.mk文件创建NDK项目结构,其中libs和obj是编译后产生的创建NDK项目编写一个Activitypublic

class

JNIActivity

extends

Activity{o_jni);/**

Called

when

the

activity

is created.

*/@Overridepublic

void

onCreate(Bundle

savedInstanceState)

{super.onCreate(savedInstanceState);setContentView(R.layout.main);TextView

tv

=

(TextView)this.findViewById(R.id.tv.setText(stringFromJNI());}public

native

String

stringFromJNI();static

{System.loadLibrary("my-jni");}}创建NDK项目在这个Activity,我们调用了一个JNI方法stringFromJNI(),这个方法是定义在C程序中的一个方法。另外,使用

System.loadLibrary(“my-jni”);来将C编译后的动态库装载进来,这样才可以在其中调用在C中定义的方法创建NDK项目在jni

下,信建一个简单的C程序my-jni.c,这个程序返回一个字符串:

oWorld#include

<string.h>#include

<jni.h>jstring_alex_JNIActivity_stringFromJNI(

JNIEnv*

env,jobjecto

World!");thiz){return

(*env)->NewStringUTF(env,

“}创建NDK项目在这个程序中,我们定义的这个方法,它的名称必须是

_alex_JNIActivity_stringFromJNI,其中,Java为固定写法,而com_alex为调用这个方法的Activity的包名,JNIActivity为调用这个方法的JavaActivity类,最后才是调用的方法名,另外,这个方法的返回值为jstring,表示Java

String类型创建NDK项目接着我们需要设置它的编译器的一些参数。右键项目,打开Properties,选择“Builders”,然后点击“New”创建NDK项目在这个窗口中选择“Program”创建NDK项目Cygwin的bash.execd/cygdrive/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论