我在Monodroid中有一个混淆的应用程序,我的问题是,包含在apk中的mscorlib程序集没有实现方法System.String.Intern()和我的应用程序不工作。在mscorlib.dll中包含的Missing方法
我的混淆器调用这个方法来混淆字符串,我得到一个MissingMethodException。 apk中包含的程序集中不存在此方法,但奇怪的是它存在于myproject/obj/release/assemblies/mscorlib.dll中
这些文件有很大不同。如果我把apk文件myproject/obj/release/assemblies/mscorlib.dll放入apk中,它可以工作,但是这个解决方案是一个糟糕的解决方案,因为应用程序在其他点导致TypeLoadException由于dll的更改而失败。
谁能告诉我为什么monodroid使用mscorlib简化文件和替代解决方案?
谢谢。
你如何使用String.Intern()'?这似乎很奇怪,它会被删除,除非你通过反射来调用它(因此链接器不会“看到”你的使用)。 – jonp 2012-07-26 17:21:48
我在Reflector中看到,包含在apk中的程序集mscorlib.dll不使用String.Intern()方法。似乎每个.net混淆器都使用此调用来混淆字符串。你可以验证一些单声道apk是否包含这种方法?谢谢 – daniherculano 2012-07-26 17:29:08