参考资料-MarkMail.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NDK自带实例分析 目标读者: NDK入门,有android开发基础,了解C语言语法。 要求: 已经阅读过OVERVIEW.TXT(Android NDK概述)等NDK自带的几份文档,NDK环境已经安装好。更多信息阅读【参考资料】 前言: 在 HYPERLINK  论坛中发了几篇关于NDK的帖子,同时查看了一下相关论坛,发现现在搞NDK的还少,不过还有很多人在门外观望,NDK现在相关的中文资料比较少,能参考的多是android-ndk-1.5_r1中自带的英文文档,为了更快的入门,本文将以NDK1.5自带实例进行分析,然后在这基础上(介绍分析了)自己写一个简单的例子。 正文: 熟悉环境: 不要急着就去编译代码,先熟悉一下相关的目录结构,以便在后面碰到问题时也好查找,在安装完android-ndk-1.5_r1之后,可以看到如下目录 Apps : 存放带有jni接口的android工程目录(工程里面有利用native关键字定??的java函数) Build : 存放着几乎所有的ndk编译相关的脚本以及必要的静态链接库。 Doc : 存放着ndk的所有“官方”文档,每一篇文档对于jni编写者来说这里面的任何一点点资料都是无价的 INSTALL.TXT — 说明如何安装、配置NDK OVERVIEW.TXT — 概要介绍NDK的功能和用法 ANDROID-MK.TXT — 说明Android.mk的用法, Android.mk用来指定需要编译的源代码 APPLICATION-MK.TXT — 说明Application.mk的用法 file, Application.mk用来指定目标应用 HOWTO.TXT — 介绍与NDK开发相关的任务. SYSTEM-ISSUES.TXT — 如果用NDK开发,你需要了解Android系统映像相关的知识 STABLE-APIS.TXT — NDK头文件列表 另外,还包含了“bionic”C库的详细信息,如果用NDK开发,你应该了解这些信息。路径:ndk/docs/system/libc/: OVERVIEW.TXT—介绍“bionic”C库及其特性 Out: 存放一些中间的临时文件,例如jni的.c/.cpp文件编译过程中产生的.o文件等。 Source 存放jni文件的.c/.cpp的源代码文件 我们需要分析的代码就在source里面,让我们先从这里开始。下面说明一下各应用的功能。NDK包含了两个Android应用,用来说明如何在Android应用中用原生代码。 hello-jni—该示例:调用共享库(shared library)的原生方法获取一个字符串,并显示在应用的界面上。 Two-libs—该示例:动态加载一个共享库,并调用其中的方法,该方法由一个导入到共享库的静态库实现。 万里长征第一步: 做为一份分析文档,就不详细说明环境的安装与配置了,大家可以参考:Android NDK 开发环境安装和配置 这篇文档,顺利的话,就可以出现如下界面 代码: //android 中调用的代码 public class HelloJni extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Create a TextView and set its content. * the text is retrieved by calling a native * function. */ TextView tv = new TextView(this); tv.setText( stringFromJNI() ); setContentView(tv); } /* A native method that is implemented by the * hello-jni native library, which is packaged * with this application. */ public native String stringFromJNI(); /* This is another native method declaration that i

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档