在Android evn中解压缩.7z文件时出现问题
获取“system.entrypointnotfoundexception:loadlibrary”,同时尝试使用SevenZipLib.dll解压Android evn中包含媒体内容/文件的.7z文件 上下文: -整个程序是作为一个单安卓项目用c#编写的。没有生成/部署错误/警告。 运行apk时,其抛出“system.entrypointnotfoundexception:loadlibrary”。 -还测试了windows evn中与windows project(而非mono)解压缩相同的代码 对问题的假设: 7zip内部可能使用COM组件&不支持单帧工作 问题:在Android evn中解压缩.7z文件时出现问题,android,xamarin.android,unzip,7zip,compression,Android,Xamarin.android,Unzip,7zip,Compression,获取“system.entrypointnotfoundexception:loadlibrary”,同时尝试使用SevenZipLib.dll解压Android evn中包含媒体内容/文件的.7z文件 上下文: -整个程序是作为一个单安卓项目用c#编写的。没有生成/部署错误/警告。 运行apk时,其抛出“system.entrypointnotfoundexception:loadlibrary”。 -还测试了windows evn中与windows project(而非mono)解压缩相同的
有没有人遇到过类似的问题?请推荐一些可供我的apk用于解压.7z文件的替代dll/框架。假设
SevenZipLib.dll
是,问题是:
该项目包含对kernel32.dll
(LoadLibrary()
,GetProcAddress()
,freellibrary()
),ole32.dll
(PropVariantClear()
),oleaut32.dll
(SafeArrayCreateVector()
)等的大量p/invoke调用
简言之,这个库与Windows密切相关,在非Windows平台上无法以任何有意义的方式工作,而且需要大量的工作
如果您需要Mono for Android应用程序中的7z支持,则需要查看其他库。它似乎包含用于读取不依赖于P/Invoke的LZMA文件的C#源代码,因此可能会起作用?有人成功地将7zip SDK C#版本与M4A一起使用吗?
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern SafeLibraryHandle LoadLibrary(
[MarshalAs(UnmanagedType.LPTStr)] string lpFileName);