需要将开源入侵检测(C++)项目snort移植到Android中,在linux环境下搭建了ndk,已经能用ndk-build将简单.c文件生成,so,但snort项目里面包含太多的.cc,.h,.text,.cmake等文件,能用ndk直接一次性编译整个snort文件夹让他生成一个snort.so文件吗,如果不能的话需要将包里面每个.cc文件都编译一遍,然后再打包起来?想的我头发都掉光了,在网上还看到了用arm -gcc编译的,如果不用ndk的话,用arm gcc能行得通吗 急切希望大神来解答
解决方案 »
- 真机和模拟器均运行正常,但是下载并安装apk却弹出错误:“解析包时出现问题”
- 编写一个简易的图片浏览器
- google map Javascipt api on andoird,有没有能运行的例子。
- 高手进 公交换乘查询
- 设置Matrix.setValue后用Matrix.getValue取出来,设置的值和取出来的值不同。
- Android如何用imagebutton实现钢琴的滑键弹法 这样的效果
- 想点击几个TextView后弹出日期对话框,设置点击TextView显示选择日期,下面的代码要怎么改写?
- 蓝牙文件接收时如何自定义文件保存路径
- onCheckedChanged的入口参数buttonView
- 【android】——摄像头界面显示文字
- android按钮按下监听问题
- android如何监听usb串口的插拔
会生成一个cpp文件夹 copy里面就行了
直接在AS里面用jni调用的话 好像还要改C++代码的方法名吧,比如把showhello改成java_com_233_helloword_showhello等等这样一改就又要改好多地方。。因为不是太懂C++的知识,所以就害怕要改snort的代码。。就想能不能用.so库来解决。。
直接在AS里面用jni调用的话 好像还要改C++代码的方法名吧,比如把showhello改成java_com_233_helloword_showhello等等这样一改就又要改好多地方。。因为不是太懂C++的知识,所以就害怕要改snort的代码。。就想能不能用.so库来解决。。这样修改是为了给Java代码调用的 C++内部代码不用变
直接在AS里面用jni调用的话 好像还要改C++代码的方法名吧,比如把showhello改成java_com_233_helloword_showhello等等这样一改就又要改好多地方。。因为不是太懂C++的知识,所以就害怕要改snort的代码。。就想能不能用.so库来解决。。这样修改是为了给Java代码调用的 C++内部代码不用变snort程序的运行还需要daq等其他六个包的支持,我在想能否直接用arm-linux-gcc编译成可执行程序,然后把所有的包都push到Android中去,直接在手机中运行(我是不是有点异想天开了)
如果不是, 那么要做的工作更多.
还有就算是liunx环境, 不同系统版本, 也可能有很大不同.
android更是奇葩, 各种定制,阉割rom.
所以要移植到android中. 可以把整个项目的cpp放到AS中的cpp文件夹下, 然后在MakeList中添加一下路径等配置. 然后看能否编过. 能编译过, 再考虑接口问题.
接口肯定是重写了, 如果对外的接口非常多, 比如说有几千个, 那么你悲剧了. 不能一步登天.
请问 能否编过在这里是什么意思呢 是指生成了.so文件?还是其他什么?刚接触这方面不太了解,还有庆幸的是要移植的c++项目就是在linux下的,但是项目的运行还需要再linux环境下搭建环境,比如安装daq等几个必要的包,那这几个包要如何处理呢?直接不用管他?还是也要放进AS里面进行编译?麻烦您了