Android NDK环境搭建及调用JNI的简单步骤

转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3396595.html

Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。

1. 下载NDK(http://developer.android.com/tools/sdk/ndk/index.html),并解压,配置Path路径

 

2. 在项目中新建一个名为jni的文件夹,在jni中新增Android.mk文件,文件内容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := PhotoUtil
LOCAL_SRC_FILES := PhotoUtil.c
LOCAL_LDLIBS    := -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)

LOCAL_MODULE:当前模块的名称

LOCAL_SHARED_LIBRARIES:当前模块需要依赖的共享库。 

LOCAL_SRC_FILES:所要调用的C源码

 

3. 把PhotoUtil.c文件复制到jni目录下

PhotoUtil.c,包含一个图片处理方法:

JNIEXPORT void JNICALL Java_com_wangjie_customviews_PicturesDialog_functionToBlur(JNIEnv* env, jobject obj, jobject bitmapIn, jobject bitmapOut, jint radius) {
    ……
}

方法Java_com_wangjie_customviews_PicturesDialog_functionToBlur的取名方式:

Java_:固定
com_wangjie_customviews:java包名
PicturesDialog:java类名
functionToBlur:java使用的方法名

 

4. 编译C源码,生产so库文件

进入jni目录:

ndk-build 或者

ndk-build APP_PLATFORM=android-8

"Compile thumb : PhotoUtil <= PhotoUtil.c
SharedLibrary  : libPhotoUtil.so
Install        : libPhotoUtil.so => libs/armeabi/libPhotoUtil.so

执行完毕之后,android项目的libs目录下就会生成so文件:

\libs\armeabi\libPhotoUtil.so

5. 在android中java代码调用:

static{
      System.loadLibrary("PhotoUtil");
}

加载photoUtil库(libPhotoUtil.so)

并添加:

private native void functionToBlur(Bitmap bitmapIn, Bitmap bitmapOut, int radius);

然后在其他地方只需要调用该functionToBlur()方法即可:

functionToBlur(bgBitmap, bitmapOut, 50);

 

参考:

http://www.ibm.com/developerworks/opensource/tutorials/os-androidndk/section5.html

http://developer.android.com/tools/sdk/ndk/index.html#Installing

http://stackoverflow.com/questions/2067955/fast-bitmap-blur-for-android-sdk

 

 

 

时间: 2024-09-29 06:30:37

Android NDK环境搭建及调用JNI的简单步骤的相关文章

Android NDK 环境搭建 之 起始篇NDK HelloWorld

ADT插件:管理Android SDK和相关的开发工具的 NDK插件:用于开发Android NDK的插件,ADT版本在20以上,就能安装NDK插件,另外NDK集成了CDT插件(所以本文直接针对ADT 20以上版本进行说明) 到Android官网下载最新的NDK,注:NDK版本在r7以上之后就集成了Cygwin,而且还是十分精简版.比起下载Cygwin要方便多啦(Cygwin以前需要单独安装和配置,现在已被集成)! 下载链接见:http://developer.android.com/tools

如何搭建Android NDK环境

无论是google还是百度查找NDK环境搭建,肯定少不了要求装cygwin,其实安装cygwin的主要目的就是为了编译C/C++文件成为动态链接库,目前最新版本的ADT和NDK可以不需要cygwin,一切都由图形界面搞定,本文方法确信简单得多. 1. 下载 Android ADT (解压既可用) 2. 下载 Android NDK (解压既可用) 3. 打开ADT并设置NDK路径 4. 导入NDK自带的例子GL2JNI 查看本栏目更多精彩内容:http://www.bianceng.cnhttp

android游戏-android cocos2dx环境搭建好以后,运行hellocpp出现了如下错误

问题描述 android cocos2dx环境搭建好以后,运行hellocpp出现了如下错误 03-02 16:51:40.923: W/dalvikvm(6716): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/cocos2dx/hellocpp/HelloCpp; 03-02 16:51:40.923: W/dalvikvm(6716): Class init failed in newI

QT 5.4.1 for Android Windows环境搭建

QT 5.4.1 for Android Windows环境搭建 2015-5-13       目录 一.参考文章:  二.准备软件:  三.安装准备好的软件:  四.配置Qt 5.4.1 for Android  五.解决 Creator Qt Quick 模拟层已崩溃  六.解决没有 kit selection(构建套件(Kit))  七.解决编译出错:系统找不到指定的文件 八.友情提示:     一.参考文章:     1. windows下Qt5.1 for android开发环境配置

Linux下Android开发环境搭建详细步骤

  1.系统环境 [android@localhost ~]$ uname -a Linux localhost.localdomain 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux [android@localhost ~]$ lsb_release -a LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:gra

Android开发环境搭建

前几天我在自己的CentOS系统上搭建了Android开发环境.这里我做一个简单的总结. 大概的步骤是: (1)下载JDK并配置环境 (2)下载Android与 配置环境 (3)创建一个Hello World(4)调试运行环境配置 1. JDK安装     JDK就是Java程序开发包.在google上搜索"JDK"就能找到我们想要的包.详见我的另一篇日志. 2. Android 安装     在Googel上搜"Android SDK"就能找到网站 Android

android开发环境搭建,jdk安装错误

问题描述 android开发环境搭建,jdk安装错误 jdk安装后在命令指示符梨输入java后显示错误,这个要这么解决? 解决方案 你是什么系统的?windows的话需要设置java的环境变量,linux和macos的话需要添加到配置文件里 解决方案二: windows下的java环境变量配置: 1.右击计算机 2.属性 3.高级系统设置 4.高级->环境变量 5.新建系统变量 JAVA_HOME 值为jdk的地址 6.在path后面加上:进行分隔,%JAVA_HOME %bin 7.确定 8.

Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写一个搭建过程的文章. 一.JDK安装 http://www.oracle.com/index.html  下载地址 选择JavaSE JDK进行下载 下载下来后进行安装(默认步骤安装) 设置环境变量步骤如下: 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:    

Android测试环境搭建(win7)

 一.安装JDK并配置环境变量 1.在Java官方网站上下载相应系统的jdk文件安装,如win7 64 位系统下安装jdk-6u45-windows-x64,全部选择默认的安装路径即可安装完成. 2.配置JAVA_HOME 新建 JAVA_HOME 环境变量,变量值是自己安装JDK 的路径,我的是:D:\Java\jdk1.7.0: 3.配置ClASSPATH 新建 CLASSPATH 环境变量,变量值是:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.