看完了jni的教程,感觉手痒痒的,所以就想弄个实际点的项目来搞一下,无奈本人c语言的功底有限,实在想不出要写什么动态库,所以就想到拿别人写好的动态库来测试一下,于是就盯上了布卡漫画~
先解压布卡漫画的apk,发现布卡用到了3个so文件:
用readelf查看里面的函数,发现libbup.so里面有个函数似乎跟获取图片有关:
这时我想起布卡下载的漫画不是图片格式的,难道是用这个动态库来加载图片的?
为了验证我的猜想,我先新建一个Android项目TestJNI,把so文件放入程序的libs,把布卡的下载文件d62161_0001.l.bup.view放到assets,再把反编译得到的BukaBup以及相关类放到cn.ibuka.common.bup包内。
(详细代码就不给出了,知道这个BukaBup用到了libbup.so库就行了)
(就别吐槽我没关inputstream了)
结果:
可以看到,demo成功的将布卡的下载文件以图片显示出来。大成功~~