社区
Android
帖子详情
如何在JNI中调用android的类
dinjay
2011-02-18 09:16:38
希望能将android的一个类对象作为参数,传给JNI,在jni中调用 这个对象的方法。
自定义的类我知道怎么用,但是使用android自己的类,我不知道如何来实现。
以前看到过有封装graphics的帖子,但是找不到了,不知道大家有做过的没有?
...全文
90
1
打赏
收藏
如何在JNI中调用android的类
希望能将android的一个类对象作为参数,传给JNI,在jni中调用 这个对象的方法。 自定义的类我知道怎么用,但是使用android自己的类,我不知道如何来实现。 以前看到过有封装graphics的帖子,但是找不到了,不知道大家有做过的没有?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freshui
2011-02-18
打赏
举报
回复
首先, 你需要源代码
然后,将需要的类及其依赖的类的头文件(通常你要使用一个类,可能要将几十上百的头文件按照原来的目录顺序拷贝到你的jni工程,当然你直接改变包含路径到源代码也可以)
然后include定义类的头文件即可。
注意:jni一定要是cpp的,需要 using namespace android
android
JNI
C
调用
Java
android
JNI
C
调用
Java
Android
JNI
用C函数写本地库读写文件,底层
调用
小例子
Android
JNI
Android
JNI
用C函数写本地库读写文件,底层
调用
小例子用C函数写本地库读写文件,底层
调用
小例子
android
jni
使用libzip读取压缩文件
例子通过
jni
调用
libzip库读取压缩文件,和通过ndk自带api接口读取assets资源文件,附测试工程。
Dalvik虚拟机 PPT版
Android
应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。
Android
应用程序
中
的Dalvik虚拟机实例实际上是从Zygote进程的地址空间拷贝而来的,这样就可以加快
Android
应用程序的启动速度。Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法
调用
(
JNI
)和Java远程调试协议(JDWP)等,差别在于两者执行的指令集是不一样的,并且前者的指令集是基本寄存器的,而后者的指令集是基于堆栈的。这个PPT讲Dalvik虚拟机的内存管理、垃圾收集、即时编译、Java本地
调用
、进程和线程管理等。理解Dalvik虚拟机的上述实现细节,有助于在运行时修改程序的行为,例如,拦截Java函数的
调用
。
Android
NDK
JNI
中
调用
java方法
做NDK开发的时候,有需求需要在
JNI
直接
调用
和获取Java
中
的方法和变量,比如回调,系统信息参数等…在
JNI
中
调用
Java方法,就需要使用FindClass和这两个
类
。
Android
80,350
社区成员
91,289
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章