经过一些实验,我使用Android NDK r13b为Android x86_64(Marshmallow)编译了Mono 4.4.2。 我不得不做一些技巧,但毕竟我在构建目录中有这些文件夹:
bin等包含lib share
bin文件夹如下所示:
lib文件夹是:
lib 文件夹仅包含非托管库,例如'mono'子文件夹不包含每个版本框架的托管BCL,我无法弄清楚如何告诉'configure'脚本来执行此操作。所以我编译了相同版本的Mono for Linux,只是复制了所有.net托管程序集的 lib / mono 文件夹。这是我的第一个问题:我允许这样做,如果没有,我怎么能在同一个android构建中构建它们?无论如何,我认为因为它们都是100%托管代码,所以这应该可行。
它们实际上是Android原生二进制文件,我只需将它们复制到Android上的某个位置,为libmonosgen-2.0.so设置LD_LIBRARY_PATH,为库设置MONO_PATH, 它可以工作 。我可以编译简单的二进制文件,从lib / mono / 4.5运行.exe文件,但我仍然觉得我做错了。 我应该如何设置此安装? 4.5和4.5-api之间的区别是什么,我应该将MONO_PATH指向哪里? GAC怎么样? 有没有我可以运行的测试来检查我是否真的有单声道安装?有什么我能读的吗? 我是对的,看起来我有大部分零件并且它们正在工作吗? :) 我现在的主要问题是我没有任何工具来调查任何问题, - trace选项是沉默的,我不知道为什么mono-sgen有时不起作用。
任何帮助都会很棒:)谢谢!