C#语言DLL库文件如何转成.so文件

问题:C#语言编写的DLL文件如何转成.so文件,或有其他方式可实现
需求:安卓系统无法调用C#语言编写的DLL库文件 。我用C#语言写了一个独立模块(单独一个dll文件),主要是通过COM口实时监控一个硬件,基于.NEt4.5平台开发。原来是给WPF程序调用的,现在是安卓系统上app也要调用这个dll文件。应用场景是一个硬件设备上连着一个安卓平板,平板上有一个app要调用我的dll库文件监控硬件,没有网络,计划是将文件直接丢给安卓开发人员,安卓开发人员直接调用文件里的接口与硬件通讯。由于安卓app不能直接调用dll文件,哪种方式能更好的解决这个问题,dll文件外面用其他语言封装一层还是用其他语言重新写

dll是windows下的动态链接库文件
so是linux下的动态链接库文件
你拿源代码到linux下编译即可