Android 开发手写一

Android 开发手记一? 在 Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程

Android 开发手记一

? 在 Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程序或库,就需要使用 NDK 来实现。 NDK 是 Native Development Kit 的简称。它是一个工具集,集成了 Android 的交叉编译环境,并提供了一套比较方便的 Makefile ,可以帮助开发者快速开发 C 或是 C++ 的动态库,并自动的将 so 和 java 程序打包成 apk ,在 Android 上运行。

?????? 好,闲话少说,我们以一个简单的实例,来讲解 NDK 的应用。
一 开发环境的搭建
?????? 这一步虽然没什么技术含量,但是对于初学者,有一个很好的入门指导,还是很有帮助的。

1.1?? Android SDK 的搭建
?????? 首先,要进行 Android 程序的开发, Android 的 SDK 是必须要安装的。当然, Java 环境也必不可少。我们先要安装 JDK 和 Eclipse ,这个可以选比较新的版本,因为 Android 新的 SDK 已经不支持旧版本了。

?????? 1.1.1 JDK 可以用 V5 或 V6 版本,下载地址 http://java.sun.com/javase/downloads/index.jsp

?????? 1.1.2 Eclipse 可以用版本 version 3.4 or 3.5 ,下载地址 http://www.eclipse.org/downloads/ . 当然,若你需要其他的 Java 开发环境,可以不用 Eclipse ,不过这样也就用不了 ADT(Android Development Tools) 插件了。推荐还是用 Eclipse 来进行开发比较好,毕竟比较权威和方便么。

?????? 1.1.3 安装 SDK

?????? Android SDK 下载地址为 http://androidappdocs.appspot.com/sdk/tools-notes.html

?????? 1.1.4 为 Eclips 安装插件 ADT 。在 Eclipse 中,填加更新站点 https://dl-ssl.google.com/android/eclipse/ , 然后选择安装 ADT.

?????? 1.1.5 接下来,我们选择 Android 平台和组件。若是在 window 系统下,运行 SDK Setup.exe ;若是在 Linux 系统下,运行 tools 目录下的 android 程序,就可以选择需要的 Android Platform 和组件。

?????? 完成以上工作后,就可以进行 Android 应用程序的开发了。可以用 Eclipse 创建一个 Android 工程,比较简单的 Hello Android ,然后在模拟器下运行。具体的操作可以参看 Android 开发网站的说明,上面有详细的步骤。

1.2 Android NDK 的搭建
?????? 上面我们搭建好了 SDK 的环境,可以开发 Java 应用程序了。要开发 C 的程序,还得搭建 NDK 环境。
?????? NDK 给我们提供了以下内容:

?这个程序,唯一和 hello-jni 不同的就是引用了 <android/log.h> 这个头文件。在该头文件中,声明了函数 __android_log_print(), 可以根据不同的 log 级别,输出 log ,方便代码的调试。在 NDK 中, printf() 没法输出,所以我们需要借助 log 库来将我们 c 代码库中需要输出的内容,通过 java 控制台输出。调用函数 __android_log_print(), 就可以在 Eclipse 中,查看 LogCat 来查看相关的输出信息了。
?????? 注意:
?????? 在 c 文件中,函数名这样定义: Java_com_jpf_myjni_MyJNI_stringFromJNI ,有什么讲究么?这个是 JNI 的标准,定义需要按照如下格式:
?????? Java _packagename _classname _methodname ,

?????? 例如: Java _com_jpf_myjni _MyJNI _stringFromJNI

?????? 接着创建文件 jni/Android.mk. 这个文件是我们本地 c 代码的 Makefile 。文件内容如下:

Administrator@lenovo-0e47e162 /android/android-ndk-r4/samples/myndk $ ndk-build Android NDK: Could not find application's manifest from current directory. Android NDK: Please ensure that you are inside the project's directory ! /android/android-ndk-r4/build/core/build-local.mk:74: *** Android NDK: Aborting    .  Stop.  

?

看到这个错误的意思是,缺少 manifest 文件。老版本的 NDk ,工程中有一个 apps ,里面包含了应用的程序文件和 Application.mk 。现在的版本,不需要我们自己编写 Application.mk, ,不过仍需要工程相关的配置信息。那么如何做到呢?需要手工去写 manifest 文件么?不需要。我们只需要在 Eclipse 中,创建工程就可以了,这些配置文件会自动生成。
?????? 前面讲过,在工程的 src 夹子下用来放置 Java 文件。我们打开 Eclipse ,然后新建一个 Android 工程,工程名就叫 MyJNI ,工程路径选择我们创建的 NDK 的路径。这里需要注意的是,工程名,包名等,需要和上面的 c 文件中的保持一致。

(Java _com_jpf_myjni _MyJNI _stringFromJNI)

本文摘自:http://blog.csdn.net/L____J/article/details/5787759