获取"system.entrypointnotfoundexception:加载库“,同时尝试使用SevenZipLib.dll解压缩Android中包含媒体内容/文件的.7z文件。
上下文: -The整个程序是用c#编写的,是一个单一的安卓项目。没有生成/部署错误/警告。在运行apk时,它会抛出"system.entrypointnotfoundexception: loadlibrary“。-Also测试了与windows项目(而不是mono)相同的代码--在windows evn中解压缩。
假设: 7zip内部可能使用COM组件& Mono框架工作不支持。
问题:
有没有人遇到过类似的问题?请建议一些可供我的apk用来解压缩.7z文件的dll/framework。
发布于 2012-03-21 15:32:28
假设SevenZipLib.dll是基于SevenZipLib的CodePlex库,问题是SevenZipLib\SevelZipLib\SevenZipArchive.cs
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern SafeLibraryHandle LoadLibrary(
[MarshalAs(UnmanagedType.LPTStr)] string lpFileName);该项目包含对kernel32.dll (LoadLibrary()、GetProcAddress()、FreeLibrary())、ole32.dll (PropVariantClear())、oleaut32.dll (SafeArrayCreateVector())等多个方面的调用。
简而言之,这个库与Windows紧密相连,不可能以任何有意义的方式在非Windows平台上工作,而不是没有大量的工作。
如果您需要在Mono应用程序中支持7z,则需要查看另一个库。看起来,7-zip SDK包含了用于读取不依赖于P/Invoke的LZMA文件的C#源代码,所以这可能有效吗?
https://stackoverflow.com/questions/9805261
复制相似问题