2012-03-21 3 views
1

"system.entrypointnotfoundexception : loadlibrary"가져 오는 중 SevenZipLib.dll을 사용하여 Android evn에서 미디어 내용/파일이 들어있는 .7z 파일의 압축을 푸는 동안.Android evn에서 .7z 파일의 압축 해제와 관련된 문제

컨텍스트 : - 전체 프로그램은 C#으로 MONO Android Project로 작성되었습니다. 빌드/배포 오류/경고가 없습니다. apk를 실행하는 동안 "system.entrypointnotfoundexception : loadlibrary"가 발생합니다. - 또한 Windows 프로젝트 (모노가 아닌)와 동일한 코드가 테스트되었습니다 - 창문에서 압축을 해제하십시오. 이 문제에 대한

가정 : 7zip과 내부 & 모노 프레임 워크가 지원되지 않는 COM 구성 요소를 사용하여 수 있습니다.

질문 :

사람이 유사한 문제 건너 했습니까? .pz 파일의 압축을 풀기 위해 apk에서 사용할 수있는 대체 dll/프레임 워크를 제안하십시오.

답변

3

SevenZipLib.dllSevenZipLib Library on CodePlex이라고 가정하면, 문제가 SevenZipLib\SevelZipLib\SevenZipArchive.cs입니다 :

[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] 
private static extern SafeLibraryHandle LoadLibrary(
    [MarshalAs(UnmanagedType.LPTStr)] string lpFileName); 

프로젝트에 포함 된 다수의 P /이 호출 kernel32.dll (LoadLibrary(), GetProcAddress(), FreeLibrary()), ole32.dll (PropVariantClear()), oleaut32.dll (SafeArrayCreateVector())로, 그리고 더.

요약하면이 라이브러리는 Windows와 밀접하게 연결되어 있으며 많은 작업없이 의미있는 방식으로 비 Windows 플랫폼에서 작동하지 않습니다.

Android 용 Mono 응용 프로그램에서 7z 지원이 필요한 경우 다른 라이브러리를 조사해야합니다. 7-zip SDK에는 P/Invoke에 의존하지 않는 LZMA 파일을 읽는 C# 소스가 포함되어 있으므로 제대로 작동할까요?

+0

누구나 M4A에서 7zip SDK C# 버전을 성공적으로 사용 했습니까? – John