jni-Android JNI 可以不用NDK吗?另外,原有的SDK工程移到NDK环境下是否依然可以跑通

问题描述

Android JNI 可以不用NDK吗?另外,原有的SDK工程移到NDK环境下是否依然可以跑通
**原有的SDK 环境下的Android工程需要引入底层的一些dll库来做数据处理分析等**

需要通过JNI调用的方式调用这些dll库,当前有以下两种解决方方法:一种是和JAVA一样的JNI调用方式,另一种是通过NDK进行调用。
关于第一种直接用类似JAVA的解决方式,发现可以编译成功,但是无法调用,系统提示loadLiabrary return null,可能有解决方法,当前尚未解决。
关于第二种,我想知道的是在NDK下进行开发,对原来在SDK环境下开发的原有工程是不是仍然可以直接调用?
最后大家在这种环境下,是选用哪种解决方式呢?为什么?

解决方案

感觉你就没弄明白什么是NDK,什么JNI,NDK是用来编写c++程序的,编译后是so文件,你可以把so文件当做lib在你的Android开发中使用

解决方案二:

Android的SDK,NDK以及JNI
Android的SDK,NDK以及JNI

解决方案三:

Java通过jni来调用ndk编译的so动态库

时间: 2024-08-02 00:56:14

jni-Android JNI 可以不用NDK吗?另外,原有的SDK工程移到NDK环境下是否依然可以跑通的相关文章

《精通Android 实例开发》——第1章,第1.4节在Windows环境下安装ADT

1.4 在Windows环境下安装ADT 1.4.1 实例说明Android 为Eclipse定制了一个插件,即Android Development Tools(ADT),这个插件为用户提供一个强大的综合环境用于开发Android应用程序.ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKS以便发行应用程序.下面详细介绍安装配置ADT的基本方

《精通Android 实例开发》——第1章,第1.11节在Linux环境下搭建Android平台

1.11 在Linux环境下搭建Android平台 1.11.1 实例说明 Android基于Linux平台,是一个开源的智能手机系统,所以除了能够在我们平常所用的Windows平台下开发Android应用项目外,还可以在Linux平台中开发Android应用项目.所以很有必要讲述在Linux平台中搭建Android开发环境. **1.11.2 具体实现 **以Linux ubuntu 8.10平台为例,搭建Android开发环境的具体流程如下所示. (1)安装虚拟光驱daemon400.exe

《精通Android 实例开发》——第1章,第1.12节苹果Mac环境下搭建Android平台

1.12 苹果Mac环境下搭建Android平台 1.12.1 实例说明 截至2011年8月,Android和苹果系统系统分别占据智能手机操作系统份额的前两位.对很多使用苹果系统的开发人员来说,很有必要在苹果Mac系统下搭建Android平台. 1.12.2 具体实现 (1)登录http://developer.android.com/sdk/index.html来到Android SDK下载界面,在此单击下载链接"android-sdk_r12-mac_x86.zip",下载苹果Ma

《精通Android 实例开发》——第1章,第1.3节在Windows环境下集成安装Eclipse和Android SDK

1.3 在Windows环境下集成安装Eclipse和Android SDK 1.3.1 实例说明Android SDK指的是Android专属的软件开发工具包.与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏.高级图形显示和上网功能,用户能够在手机上查看电子邮件.搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台. 1.3.2 具体实现在Android官方公布的最新版本中,已经将Eclipse和Andr

Android JNI 和 NDK

  1.Android NDK  一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言.但这并不等同于"第三方应用只能使用Java".在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,"Java+C&quo

Android JNI局部引用表溢出:local reference table overflow (max=512)

转载请注明出处:http://blog.csdn.net/xyang81/article/details/44873769 在<JNI/NDK开发指南(十)--JNI局部引用.全局引用和弱全局引用>这篇文章中详细介绍了在JNI中三种引用的使用方式,区别.应用场景和开发注意事项.由于都是理论,看完之后可能印象不够深刻,由其是在开发当中容易出错的地方.所以这篇文章用一个例子说明引用使用不当会造成的问题,以引起大家对这个知识点的重视. 首先创建一个Android工程,在主界面放一个文本框和一个按钮,

android jni开发初

为了研究openCv而学习jni,现在记录下环境配置流程,备忘. 使用最新ndk,直接抛弃cygwin,以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不需要了.  (1).在ndk r8版本的就不需要要通过Cygwin等的软件进行进行编译了,ecplise自带了这个功能.所以我们只要配置了ndk以后然后在项目中就能进行使用了 打开Eclipse,

android JNI调用机制

JNI的出现使得开发者既可以利用Java语言跨平台.类库丰 富.开发便捷等特点,又可以利用Native语言的高效. JNI是JVM实现中的一部分,因此Native语言和Java代码都运行在JVM的宿主环境. JNI是一个双向的接口:开发者不仅可以通过JNI在Java代码中访问Native模块,还可以在 Native代码中嵌入一个JVM,并通过JNI访问运行于其中的Java模块.可见,JNI担任了一个桥梁的角色,它将JVM与Native模块联系起 来,从而实现了Java代码与Native代码的互访

Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序

Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framework或者底层打交道,还有就是混合编程之类的,以及新语言,新特性,各种牛人研究的黑科技,应接不暇,技术更新迭代太快了,我们要赶紧加快步伐了,今天就开始来入坑了--JNI,这个坑是必须要进的,啥也不说了,老司机,带我! 一.什么是JNI? Java Native Interface(java本地接口)