apk程序要调用系统中的非JNI的so文件的某些内容

比如说我自己编写一个应用层程序,想实现录音功能,我是不是可以不调用java框架层提供的接口类android.media.AudioRecorder,而直接通过JNI调用libandroid_runtime.so中的AudioRecord?

换句话说,应用层程序能否通过JNI来直接调用系统中本来就存在的so文件,而不仅仅是调用自己编写的,打包入apk的so文件?楼上能不能说的具体一些呢?还有,我从csdn上看到了另外一种实现方法,不知道这样可以不可以:

http://bbs.csdn.net/topics/370240511
如果我想编写一个apk程序,而这个apk程序要调用系统中的非JNI的so文件的某些内容。目前,使用Java程序调用系统中非JNI的so文件中的内容,好像只有Java——>系统中的JNI so——>系统中的非JNI so文件,这一种方法吧?那么,apk程序就无法做到可以任意调用系统中的任何一个so文件。

也就是说,java程序要调用系统中的非JNI的so文件中的东西,必须要通过系统中的JNI so文件作为过渡。再换句话说,如果系统中的非JNI的so文件,如果没有某个带JNI的so文件作为桥梁,java程序就没有任何办法调用到它的内容。我的理解是否正确?

刚刚想到了一种新方法来绕过这个JNI的so,不知道是否可行。我不使用系统中自带的JNI so文件做桥梁,用别人的桥限制太多,太麻烦。我可以使用C++自己编一个JNI so文件,让这个so调用系统中的非JNI的so。然后把我自己编写的这个JNI so打包到我的apk中。相当于我自己搭了一座新桥,这样不就实现了apk程序直接调用系统中任意一个so文件的功能了吗?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值