Android
UnkownState
专注软件开发,系统架构,软件服务。
展开
-
写android jni时注意的问题
1.回调java层函数时,注意参数类型,比如jlong如果传入的不是jlo原创 2014-05-18 20:46:28 · 558 阅读 · 0 评论 -
jni的简单使用
JNI(java native interface)主要用于java调用原生代码(java中间代码运行于虚拟机,虚拟机不具跨平台性,原生代码也是一样的,这个都知道的^_^)。所以JNI应该是在java的代码和native的库间存在映射关系,java代码调用native code时通过jvm查找到相应函数的地址执行,调用思路和dll、so类似,然后dll、so和jvm在同一个进程的不同地址上,平行的原创 2015-12-17 15:09:57 · 724 阅读 · 0 评论 -
在ubuntu下编译android jni
1.下载android ndk到ubuntu的某个目录下。2.制作Android.mk和Application.mk。这个有很多模板可以参考的。Android.mk主要指定编译规则,Application.mk指定要编译的指令集,比如armv6, armv7s,x86等。3.命令行进入ndk目录,比如android-ndk-r8d。执行./ndk-build NDK_PROJECT原创 2015-02-13 21:59:18 · 620 阅读 · 0 评论 -
JNA的简单使用
以前从效率上考虑,做native调用都是通过jni实现,其中的一些障碍我想开发过jni的人都知道,比如你要复用老的代码库,为了适应Jni的机制需要再做一次封装,这其中要涉及到jni的内存管理规则,和Java代码的交互,数据类型的转换,在c/c++复杂数据类型上是很棘手的。当然这些都是可以解决的,就看个人的开发思路。近日研究了JNA(java native access),这种机制调用dll,s原创 2015-12-17 11:18:46 · 12404 阅读 · 1 评论 -
FFmpeg在Android上的移植优化步骤
从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmpeg开发的。如今最火的智能手机操作系统Android上的很多第三方视频播放器也是基于FFmpeg实现全格式支持。由于Android通常跑在ARM处理器上,而且Android使用了自己的libc库(即bionic),因此要在Android上编译和使用FFmpeg需要做一些移植工作,好在FFmpeg本身用C写成,很好地支转载 2015-03-02 17:03:42 · 19140 阅读 · 0 评论 -
ndk开发指南
https://developer.android.com/ndk/guides/?hl=zh-cn原创 2018-11-21 11:26:41 · 218 阅读 · 0 评论