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++文件,那么多的接口函数,想想也是不可能完成的任务啊!
所以,我想请问了解的童鞋们,能不能讲一下你们的解决方法或理解,多谢!很急!! 展开
另又百度到安卓调用C/C++接口需要利用JNI,且C/C++接口的命名得符合安卓Java的规则安卓才能调用,得编写mk的一种文件来编译,我的理解是一个做安卓开发的程序员在其安卓开发环境中自己利用Java规则封装C/C++接口来实现直接调用。如果CFILE也必须要采用此种方式的话,那么多的C/C++文件,那么多的接口函数,想想也是不可能完成的任务啊!
所以,我想请问了解的童鞋们,能不能讲一下你们的解决方法或理解,多谢!很急!! 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询