android之JNI使用
安卓学习乐园
从一个小开发仔开始~~ 努力变成一个大开发仔~~ 然后再变成一个管理几个开发仔的开发仔~~~ ( ̄▽ ̄)/
展开
-
GNUStep,jni
这几天一直在研究JNI的开发过程,顺便把NDK环境搭建一起总结下。在windows环境下开发jni需要c/c++编译器的支持,网络上我看很多人使用cygwin。呵呵我不是很喜欢使用它,感觉安装起来挺麻烦的。我使用GNUStep,下载地址http://www.gnustep.org/experience/Windows.html。下载安装后,验证是否成功。打开GNUstep->Shell转载 2015-08-10 21:11:32 · 487 阅读 · 0 评论 -
Android中JNI的使用方法
首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写,底层包括系统和使用众多的LIiraries都是C/C++编写的。 所以上层Java要调用底层的C/C++函数库必须通过Java的JNI来实现。下面将学习Android是如转载 2015-08-10 21:20:16 · 461 阅读 · 0 评论 -
Android------使用C/C++调用SO库
有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用。这样人家反编译你的apk,就知道你侵犯了人家的版权。为了达到混淆的目的,我们可以再写一个so库调用人家的so库,即把人家的so库放到root的某个路径下,用c/c++语言调用这个so库。比如说,我得到一个APK,反编译这个APK看到下面的代码:[htm转载 2015-08-12 15:41:27 · 500 阅读 · 0 评论 -
Android SO文件的兼容和适配
开发Android应用时,有时候Java层的编码不能满足实现需求,就需要到C/C++实现后生成SO文件,再用System.loadLibrary()加载进行调用,这里成为JNI层的实现。常见的场景如:加解密算法,音视频编解码等。在生成SO文件时,需要考虑适配市面上不同手机CPU架构,而生成支持不同平台的SO文件进行兼容。目前Android共支持七种不同类型的CPU架构,分别是:ARMv5,ARMv转载 2018-01-03 11:10:40 · 306 阅读 · 0 评论