下载此文档

androidndk使用说明讲解.ppt


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
AndroidNDK使用说明讲解
AndroidNDK使用说明讲解AndroidNDK使用说明讲解
我们为什么要使用Android NDK
NDK是什么:NDK 是一系列工具的集合, NDK提供了一系列的工具,帮助开发者快速开发 C (或 C++ )的动态库,并能自动将 so 和 java 应用一起打包成 apk 。
NDK能干什么:NDK使得在android中,java可以调用C函数库。
为什么要用NDK:我们都知道,java是半解释型语言,很容易被反汇编后拿到源代码文件,在开发一些重要协议时,我们为了安全起见,使用C语言来编写这些重要的部分,来增大系统的安全性。还有,在一些接近硬件环境下,我们也能通过NDK来实现C及java的相互调用。
缺点:NDK并不能显著提升应用效率。why?我们都觉得C语言比起java来说效率要高出很多,一方面,随着jdk的不断更新,java的效率也随之提高;另一方面,即便使用C语言编码提高了应用效率,但还是会在java及C相互调用时平白又增大了开销。
一、 开发环境的搭建
android的NDK开发需要在linux下进行: 因为需要把C/C++,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。
下载android-ndk开发包,这个开发包可以在google android 官网下载: 通过这个开发包的工具才能将android jni 的C/C++的代码编译成库
android应用程序开发环境: 包括eclipse、java、 android sdk、 adt等。
二、代码的编写


3. Java编写C/C++ 实现的部分

jni 的文件夹和一个
命名为 libs 的文件夹
其次在jni文件夹下面创建三个文件,, ,
接着android-ndk去编译工程的jni文件夹,就会在libs文件夹下

,如果有就 说明编译jni成功,然后打包apk就可以使用了
4. 详细说明实现的每个步骤

#include <>
#include <>
jstring Java_com_example_test_HelloWord_showHelloWord(
JNIEnv* env, jobject obj){
char* str = "hello word from c";
return (*env)->NewStringUTF(env, str);
}

注意:函数名为Java+HelloWord类下面showHelloWord的全路径名,
中间用下划线间隔。

说明
1) LOCAL_PATH := $(call my-dir)
文件首先必须定义好LOCAL_PATH变量。它用于在开发树中查找源文件。在这个例子中,宏函数’my-dir’, 由编译系统提供,用于返回当前路径( file文件的目录)。
2) include $( CLEAR_VARS)
CLEAR_VARS由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量(例如 LOCAL_MODULE, LOCAL_SRC_FILES, LOCAL_STATIC_LIBRARIES, 等等...),
除LOCAL_PATH 。这是必要的,因为所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的变量都是全局的。
3) LOCAL_MODULE := HelloWord
编译的目标对象,LOCAL_MODULE变量必须定义,。名称必须是唯一的,而且不包含任何空格。
注意:编译系统会自动产生合适的前缀和后缀,换句话说,一个被命名为'HelloWord'的共享库模块,将会生成''文件。
4) LOCAL_SRC_FILES := Hell

androidndk使用说明讲解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2623466021
  • 文件大小191 KB
  • 时间2021-04-02