当我使用Android版mono构建我的应用程序时,效果很好。但是,当我使用il2cpp进行构建时,我的应用程序也可以正常工作,但是当我想创建KML文件时,我会遇到一个例外:“对象引用未设置为实例或对象”。当然是因为root必须为null。
KmlFile kml = KmlFile.Create(root, false);
using (FileStream stream = File.OpenWrite(path))
{
kml.Save(stream);
}
我不明白为什么它适用于mono但不适用于il2cpp。 il2cpp在二进制应用程序中不包含Sharpkml吗?
我在Unity 2019.2.17项目(download here)中重现了该问题。如果在Android设备上使用Mono构建,则将创建kml文件。但是,如果使用il2cpp进行构建,则会有例外。当然是因为Sharpkml。我测试了链接Sharpkml,但没有结果。请帮助。
我发现了。我只添加<assembly fullname="SharpKml.Core" preserve="all"/>
而不是<assembly fullname="SharpKml" preserve="all"/>
,该应用即可正常运行。