安装:eclipse(http://www.eclipse.org/)、CDT(C/C++ Development Tooling)、ADT(Android Development Tools)

https://dl-ssl.google.com/android/eclipse/

可以先从官方下载jar,然后本地安装:http://www.eclipse.org/cdt/downloads.php

下载Android NDK (Native Development Kit)http://developer.android.com/tools/sdk/ndk/index.html

JNI的使用方法

使用javah建立C/C++的头文件(*.h)

切换到src目录,然后输入命令(注意编码):

将.h复制到jni目录下

如果运行出错,参考这里下载资源:http://blog.csdn.net/wjr2012/article/details/16359113

在C++中调用Java方法设置文本的内容

最后我们通过Android的点击事件来调用C++,该C++方法调用Java方法来弹出一个对话框

效果如下图

源代码已经上传至github https://github.com/zhangyi/AndroidJNIProject

最后附上一些JNI的参考链接:

https://en.wikipedia.org/wiki/Java_Native_Interface

https://newcircle.com/s/post/1292/jni_reference_example

http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/index.html

返回值为jintArray、jbyteArray、jlong、jobjectArray、jint、jboolean、jobjectArray、void的示例代码
https://joinup.ec.europa.eu/svn/mocca/osx-pcsc-jni/trunk/openjdk7/pcsc.c

Java Programming Tutorial Java Native Interface(JNI)
https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html
 
Call Java functions from C++ in cocos2d-x
http://stnguyen.com/cocos2d-x/call-java-functions-from-cpp.html

Call C++ functions from Java in cocos2d-x
http://stnguyen.com/cocos2d-x/call-cpp-functions-from-java.html

Java programming with JNI
http://www.ibm.com/developerworks/java/tutorials/j-jni/j-jni.html
 
 
 


JNI开发示例的更多相关文章

  1. JNI开发流程-JNI/NDK【转】

    本文转载自:http://wiki.jikexueyuan.com/project/jni-ndk-developer-guide/workflow.html 开发流程 JNI 全称是 Java Na ...

  2. JNI/NDK开发指南(一)—— JNI开发流程及HelloWorld

    转载请注明出处:http://blog.csdn.net/xyang81/article/details/41777471 JNI全称是Java Native Interface(Java本地接口)单 ...

  3. Android JNI开发提高篇

    有关JNI的开发技术,我们继续围绕Android平台进行,JNI可以支持C或C++,从目前为止我们写过的JNI代码均为C实现的,即文件名为.C而C++的和这些有什么不同呢? Android平台上的JN ...

  4. java JNI开发

    Jni程序开发的一般操作步骤如下: l         编写java中的调用类 l         用javah生成c/c++原生函数的头文件 l         c/c++中调用需要的其他函数功能, ...

  5. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  6. Android游戏开发实践(1)之NDK与JNI开发01

    Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码&q ...

  7. Android游戏开发实践(1)之NDK与JNI开发02

    Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI开发01分享完JNI的基础和简要开发流程之后,再来分享下在Android环境下的JNI ...

  8. Github团队开发示例(二)

    Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6063765.html 接之前讲的Github团队开发示例(一),本文主 ...

  9. Github团队开发示例(一)

    Github团队开发示例(二) 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/6044837.html 我们可以在Github上管理自己的团队项目.团队 ...

随机推荐

  1. XHTML跟HTML的区别

    其实二者并没有什么区别,只是THTML的要求更加严格,比如说 1.XHTML 元素必须被正确地嵌套. 错误:<p><span>this is example.</p> ...

  2. shell 小问题汇总

    写脚本的时候难免会判断变量是否为空或者为定义 变量a未定义 if [ -n $a ];then echo "exists"; else echo "not exists& ...

  3. mybatis 关联查询 association

    <resultMap id="DutyPersonAndFileAndScoreMap" type="com.cares.asis.duty.entity.Duty ...

  4. 浏览器js console对象

    js中调用console写日志 console.log("some log"); console.warn("some warning"); console.e ...

  5. where子句的使用

    关系运算符: = > < <= >= != <> 略. 有一个<=> 有啥用? 其实也是判断等于. 不比较NULL值,效果就和= 一样,比较NULL值, ...

  6. Unresolved external 'LresultFromObject'

    [ILINK32 Error] Error: Unresolved external 'LresultFromObject' referenced from D:\PROGRAM FILES\EMBA ...

  7. 黑马程序员_Java基础:多功能小窗口,swing,io,net综合应用

    ------- android培训.java培训.期待与您交流! ---------- 概念原理的理解,不代表能熟练应用. 如果将多个知识点关联并应用起来,这能加快我们对知识的掌握. 作为一个初学者, ...

  8. 「2013-9-14」Change Remote Desktop Port

    修改远程桌面服务(Remote Desktop Service)的端口号,有几点原因: 默认是 3389 端口,也是经常被端口嗅探器扫描的一个端口.更换端口号,一定程度上可以带来更好的安全性. 如果一 ...

  9. STL(1)

    这一篇因为游戏设计而写的,里面采用了STL,先借用一下,过段时间专项研究. 模板 模板就是一种通用化的类,同一种模板可以创建无数种具有共同特征的容器类型.首先需要指定基础类型,比如int ,char, ...

  10. ubuntu 安装pyqt4 eric

    tar xvf eric4-4.5.7.tar.gztar xvf eric4-i18n-zh_CN.GB2312-4.5.7.tar.gzcd eric4-4.5.7/python install. ...