C/C++源文件直接交叉编译生成.so文件供安卓应用程序调用,可以吗?

如题,现有一C/C++工程(暂取名为CFILE吧,很多文件,通过Makefile管理编译),界面应用程序要用安卓来做(其他人负责),CFILE需要提供接口供安卓应用程序调... 如题,现有一C/C++工程(暂取名为CFILE吧,很多文件,通过Makefile管理编译),界面应用程序要用安卓来做(其他人负责),CFILE需要提供接口供安卓应用程序调用。通过强大的百度,我了解了一个叫NDK的东西,其可以单独配置生成交叉编译工具链arm-linux-androideabi,如果直接将arm-linux-androideabi替换Makefile中原先的交叉编译工具链,再执行make,生成xxx.so,不知道安卓应用程序能不能直接用这个so库?
另又百度到安卓调用C/C++接口需要利用JNI,且C/C++接口的命名得符合安卓Java的规则安卓才能调用,得编写mk的一种文件来编译,我的理解是一个做安卓开发的程序员在其安卓开发环境中自己利用Java规则封装C/C++接口来实现直接调用。如果CFILE也必须要采用此种方式的话,那么多的C/C++文件,那么多的接口函数,想想也是不可能完成的任务啊!
所以,我想请问了解的童鞋们,能不能讲一下你们的解决方法或理解,多谢!很急!!
展开
 我来答
幻形术
2018-10-21 · TA获得超过1261个赞
知道小有建树答主
回答量:994
采纳率:81%
帮助的人:261万
展开全部
Jni调用就行了,是要按规则写接口api,如果接口很多,也没法,那是你的业务问题,要重新设计业务逻辑。我们之前用的c++单独交叉编译一个进程,和安卓界面用tcp通信,如果接口多也以为着协议多,一样的。
更多追问追答
追问
我所说的第一种方法(直接替换交叉编译工具链用Makefile交叉编译,生成.so库文件供安卓应用程序调用)是不行的吗?
追答
安卓程序是用java开发的,java调用c++就要用jni的方式
leaf_maple
2018-10-21 · TA获得超过1万个赞
知道大有可为答主
回答量:1.9万
采纳率:87%
帮助的人:3383万
展开全部
我没有研究过,qt是个C++的库
追答
qt可以开发安卓应用程序,你可以研究一下是怎么实现的
追问
谢谢你的回答,Qt我一直在用的,那个CFILE单纯做逻辑的用的C/C++,安卓程序已经由专门搞安卓开发的小伙伴弄了,所以嘛,很苦逼了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式