原文地址:http://blog.csdn.net/watkinsong/article/details/9849973 有一种方式不需要自己配置所有的Sun JDK, Android SDK以及NDK,Eclipse等设置,使用已经配置好的开发套件就可以进行直接的开发,由NVIDIA开发的开发套件Tegra Android Development Pack能够直接设置好所有的开发环境,而且最新的版本还包含了OPENCV,不想自己配置的朋友可以直接下载这个套件.但是我本人没有尝试过使用这个套件,…
以前写过两个Android开发配置文档,使用NDK进行JNI开发,这样能够利用以前已经写好的C++代码. 前两篇博客地址: http://blog.csdn.net/watkinsong/article/details/8829072 http://blog.csdn.net/watkinsong/article/details/8829235 但是这两篇配置介绍中,多少的有些错误,这里重新整理这些错误以及要注意的问题,作为勘误文. 简介:本系列博客介绍了安卓开发环境的配置,和在安卓开发中,通过…
使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到使用gradle的方案,摸了几天,总算是摸清楚了. 其实找对了方法,用android studio配置环境要比eclipse简单很多,首先是预先准备的环境: 1.Android studio,官网最新版,我用的是2.3.1: 2.OpenCV4Android,官网最新版,我用的3.2.0: 就这两个…
Ubuntu下opencv的安装及IDEA开发配置 环境配置  这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置 安装opencv 首先安装opencv和opencv_contrib 在Ubuntu下可以方便的使用git指令进行下载 git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git 下载…
Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专题,主要分享下AndroidStudio下的NDK与JNI开发的相关操作以及简述下CMake的使用.最后,会以一个实例来结束这个小专题的分享,那个,就放在最后一篇吧. 作者:AlphaGL.版权所有,欢迎保留原文链接进行转载 :) 传送门: Android游戏开发实践(1)之NDK与JNI开发01…
原文网址:http://blog.csdn.net/conowen/article/details/7521340 ******************************************************************************************** * author:conowen@大钟                                                                                …
相对于NDK来说SDK里面有更多API可以调用,有时候我们在做NDK开发的时候,需要在JNI直接Java中的方法和变量,比如callback,系统信息等.... 如何在JNI中调用Java方法呢?就需要先了解FindClass和GetMethodID了. FindClass和GetMethodID 在JNI中可以通过FindClass可以找到Java类,得到jclass,例如: jclass clz=(*env)->FindClass(env,"com/jjz/JniHandle"…
1.JNI简介 JNI全称为Java Native Interface(Java本地调用).从Java1.1开始,JNI成为java平台的一部分,它允许Java代码和其他语言写的代码(如C&C++)进行交互.并非从Android发布才引入JNI的概念的. 2.JNI与NDK 简单来说,Android的NDK提供了一些交叉编译工具链和Android自带的库,这些Android的库可以让开发者在编写本地语言的程序时调用.而NDK提供的交叉编译工具链就对已经编写好的C&C++代码进行编译,生成库…
一.Android平台编程方式:      1.基于Android SDK进行开发的第三方应用都必须使用Java语言(Android的SDK基于Java实现)      2.自从ndk r5发布以后,已经允许完全用C/C++ 来开发应用或者游戏,而不再需要编写任何Java 的代码   Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序. 二.跨平台移动开发   Delphi使用android的NDK是通过JNI接口,封装好了,不用自己…
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/linguanh/) 1,过程感慨(想直接看教程,请跳过此部分) 在写具体内容之前,我先说下我搞这个东西的过程,由于导师之前说过要搞个图像匹配的androi APP,具体就是匹配前后两张图片的相似度,类似 安卓5.0 引入的刷脸解锁. 当时觉得,要实现这样一个东西,肯定没现成的API 可供使用,第一时间想…
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. ------------------------------------------------------------------------ (原创:转载声明出处:http://www.cnblogs.com/linguanh/) 1,过程感慨(想直接看教程,请跳过此部分) 在写具体内容之前,我先说下我搞这个东西的过程,由于导师之前说过要搞个图像匹配的androi A…
OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰) 前文曾详细探讨了关于OpenCV的使用,原本以为天下已太平.但不断有人反应依然配不好OpenCV4Android,不能得心应手的在Android上使用OpenCV,大量的精力都浪费在摸索配置上.尤其是OpenCVManager诞生之后,更让人无语,大家第一个反应就是如何才能不安装OpenCVManager,因为要多安装这个东西对客户来说体验太不好了.咱家昨夜研究至两点,…
前言 这边Android作为日常记录,虽然破坏了文章队形~   最近人工智能挺火的,也稍微了解了一些库,比如关于视觉库openCV.要在安卓下调用这些C/C++库,需要用到JNI开发,在此把过程分享一下. 概念 JNI:Java Native Interface的缩写.提供了API供java和其他语言通信,主要是C/C++. NDK:Native Development Kit,是 Android的一个工具开发包 ,快速开发C. C++的动态库,并自动将so文件和应用一起打包成 APK. JNI…
Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码"交互"的开发工具集.而Android是运行在Dalvik虚拟机之上,支持通过JNI的方式调用本地C/C++动态链接库.C/C++有着较高的性能和移植性,通过这种调用机制就可以实现多平台开发.多语言混编的Android应用了.当然,这些都是基于JNI实现的.在游戏开发中,这种需求更是必不可少.…
Android中NDK的搭建及简单使用: 使用NDK,简述其重要步骤:.搭建NDK环境(作用:用于自动生成jni下的.c对应的so文件)---到Android NDK官网或Android官网下载ndk包,环境搭建步骤具体参看http://www.cnblogs.com/yejiurui/p/3476565.html2.以eclipse为例,在com.test下创建Test2.java文件,会自动在项目的bin\classes\下生成相应的.class文件[若在项目中看不到,则可能当前在eclip…
背景: 最近一个月一直在做移植库的工作,将c代码到share library移植到Android平台.这就涉及到Android NDK(native develop kit)内容.这里只想记录下JNI(java native interface)经常遇到到问题. 问题1.  忘记delete local reference.带New到方法(如:NewByteArray)这样到方法比较好辨认,需要手动调用DeleteLocalRef()来释放(返回值除外).比较特殊的一个方法是:GetByteAr…
1.     SDK Android SDK(AndroidSoftware Development Kit),即Android软件开发工具包,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言.但这并不等同于"第三方应用只能使用Java",也就是说我们还可以采用C/C++语言. Android SDK主要包括开发文档.编译工具等等,其主要目录如下: (1)  Build-tools 保存着一些编译工具,比如aapt.a…
转自:http://www.cnblogs.com/xw022/archive/2011/08/18/2144621.html NDK编程入门--C回调JAVA方法   一.主要流程 1.  新建一个测试类TestProvider.java a)         该类提供了2个方法 b)        一个静态的方法,一个非静态的方法 2.  JNI中新建Provider.c a)         该文件中需要把Java中的类TestProvider映射到C中 b)        把TestPr…
原文网址:http://cherishlc.iteye.com/blog/1756762 在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过JNI的可以看看我之前的博客(Windows下利用Visual Studio开发的过程):http://cherishlc.iteye.com/admin/blogs/1328136 以及自动生成工具swig的…
原文网址:http://www.devdiv.com/android_ndk_jni_-blog-99-2101.html 前些天要写个jni程序,因为才几行代码,想着用ndk开发可能容易些,就先研究了下.不过最终我的代码虽然只有几行,但需要libdl,因为用到了dlopen一类的函数,只能又换到用android源码体系下编译.不过两个都用了下,就发现了些不同.我其实并不能确定这些是不是实际存在的差异的,我只是拿ndk的sample和我见到的android源码里的jni代码做的比较 1. ndk…
转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C.C++ 和汇编语言)编写的应用程序和库进行交互操作. 1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Mac…
对于Jni(Ndk) 很多人应该都有印象,Android的ndk接触到的机会相对会比较多,本例子以android平台为例,pc端的话就以简单的windows为例, 编码完用vs 或是 gcc进行编译成dll文件,扔到系统system32 , 就是环境变量配置的文件夹底下,linux 可能也差不多是这个意思,剩下的代码就跟android一样,进行加载这个动态链接库即可. 这里就不做赘述,直接进入android平台的ndk开发,这里就主要讲下,Java层如何持久化c c++ 对象,场景可以是这样,假…
Android JNI(一)——NDK与JNI基础 隔壁老李头 关注  4.4 2018.05.09 17:15* 字数 5481 阅读 11468评论 8喜欢 140 本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法的中文API Android JNI学习(五)——Demo演示…
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法的中文API Android JNI学习(五)——Demo演示 本片文章大纲如下: 1.导读 2.什么是NDK 3.为什么使用NDK 4.NDK到SO 5.JNI 大纲.png 一.导读 在Android OS上开发应用程序,Goog…
正如Android调用JNI本地方法经过有点改变章所说跟踪代码是可行的,但是跟踪某些代码会出现anr,点击取消,还是不好运,有提高办法吗?回答是有(gdb还没试过,本文只讨论ida). 下面是我使用 0 * Message("%s = %d\n", GetString(Dword(R2+0x10),-1, ASCSTR_C), R2+0x20)打出的记录 "unlockCanvasAndPost""native_computeBounds"&qu…
Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI开发01分享完JNI的基础和简要开发流程之后,再来分享下在Android环境下的JNI的开发,以及涉及到的NDK相关的操作.当然,本篇仍是以Eclipse作为开发IDE,虽然Google官方已经不再支持Eclipse了,推荐是用AndroidStudio进行开发.但对于游戏开发来说,IDE的影响并没有那么大,且从Eclipse那个时代过来的,对Eclipse还是感情很深的.后续,还有…
step1:创建一个android项目       Project Name:jnitest       Build Target: Android 1.6       Application Name: JNI Test       Package Name: org.eshock.jnitest       Create Activity: JNITest JNITest.java类代码: import android.app.Activity; import android.os.Bund…
0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:android利用jni调用第三方库——编写库android程序直接调用第三方库libhello.so] [第三篇:android利用jni调用第三方库——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so] 1:场景:公司接到任务,说配合乙方C++公司开发and…
android ndk调用OpenGL 实现纹理贴图Texture 时间 2014-06-25 05:24:39  CSDN博客 原文  http://blog.csdn.net/chrisfxs/article/details/34359265 主题 OpenGL安卓开发 首先必须说,国内在OpenGL这方面特别是ndk上的分享太太太少 这中间遇到很多问题,而这些问题需要在书上,在网上,在各种资料上找,而且书上是java层调用,网上的缺少各种文件案例,只有在java层研究,在各种案例中找需要的…
Android游戏开发实践(1)之NDK与JNI开发04 有了前面几篇NDK与JNI开发相关基础做铺垫,再来通过代码说明下这方面具体的操作以及一些重要的细节.那么,就继续NDK与JNI的学习总结. 作者:AlphaGL.版权所有,欢迎保留原文链接进行转载 :) 传送门: Android游戏开发实践(1)之NDK与JNI开发01 Android游戏开发实践(1)之NDK与JNI开发02 Android游戏开发实践(1)之NDK与JNI开发03 JavaVM和JNIEnv 在jni.h头文件中定义了…