MaterialFiles icon indicating copy to clipboard operation
MaterialFiles copied to clipboard

Maybe use SevenZipJBinding

Open zhanghai opened this issue 6 years ago • 3 comments

See feature-sevenzipjbinding.

Currently it gives a SIGSEGV when opening 1.txt.zip:

2019-09-01 15:31:50.729 22893-23192/me.zhanghai.android.files A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x782aa00000 in tid 23192 (AsyncTask #4), pid 22893 (i.android.files)
2019-09-01 15:31:50.813 23238-23238/? A/DEBUG: pid: 22893, tid: 23192, name: AsyncTask #4  >>> me.zhanghai.android.files <<<
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #00 pc 00000000000ebdd4  /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/lib/arm64/libsevenzipjbinding.so (NArchive::N7z::CInArchive::FindAndReadSignature(IInStream*, unsigned long long const*)+592)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #01 pc 00000000000ebf94  /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/lib/arm64/libsevenzipjbinding.so (NArchive::N7z::CInArchive::Open(IInStream*, unsigned long long const*)+100)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #02 pc 00000000000e7bec  /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/lib/arm64/libsevenzipjbinding.so (NArchive::N7z::CHandler::Open(IInStream*, unsigned long long const*, IArchiveOpenCallback*)+180)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #03 pc 00000000001b8608  /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/lib/arm64/libsevenzipjbinding.so (Java_net_sf_sevenzipjbinding_SevenZip_nativeOpenArchive+800)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #11 pc 00000000004497bc  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk (deleted) (net.sf.sevenzipjbinding.SevenZip.callNativeOpenArchive+4)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #17 pc 0000000000449812  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk (deleted) (net.sf.sevenzipjbinding.SevenZip.openInArchive+42)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #23 pc 00000000000a9d7a  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.archiver_sevenzipjbinding.ArchiveReader.readItems+26)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #29 pc 00000000000a98c2  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.archiver_sevenzipjbinding.ArchiveReader.readItems+10)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #35 pc 00000000000a7884  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.LocalArchiveFileSystem.ensureEntriesLocked+24)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #41 pc 00000000000a746a  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.LocalArchiveFileSystem.getDirectoryChildren+6)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #47 pc 00000000000a5f28  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.ArchiveFileSystem.getDirectoryChildrenAsLocal+8)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #53 pc 00000000000a6c64  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.archive.LocalArchiveFileSystemProvider.newDirectoryStream+24)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #59 pc 00000000000c4b88  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.root.RootableFileSystemProvider.lambda$newDirectoryStream$4)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #65 pc 00000000000c377c  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.root.-$$Lambda$RootableFileSystemProvider$nHsbtJp0SMBVz2r6G4LX9Pt6kVE.apply+12)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #71 pc 00000000000c4588  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.root.RootUtils.applyRootable+100)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #77 pc 00000000000c4a80  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.root.RootableFileSystemProvider.applyRootable+8)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #83 pc 00000000000c4bae  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.provider.root.RootableFileSystemProvider.newDirectoryStream+10)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #89 pc 00000000003fc5e8  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk (deleted) (java8.nio.file.Files.newDirectoryStream+12)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #95 pc 0000000000098d0c  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.filelist.FileListLiveData.lambda$loadValue$0$FileListLiveData+4)
2019-09-01 15:31:50.846 23238-23238/? A/DEBUG:     #101 pc 00000000000930a0  /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/me.zhanghai.android.files-nGUMrTjygavjI7kGxS_Yig==/base.apk!classes2.dex (deleted) (me.zhanghai.android.files.filelist.-$$Lambda$FileListLiveData$Q1KT7T1sgf0HjnbjkVN2VLUVauM.run+4)

And it wants to extract to an OutputStream instead of providing an InputStream.

zhanghai avatar Sep 01 '19 22:09 zhanghai

http://sevenzipjbind.sourceforge.net/

Full support for extraction of password protected and in volumes splitted archives

This would be nice.

soredake avatar Jul 13 '21 11:07 soredake

Note that sevenzipjbind is also said to support RAR5.

zhanghai avatar Mar 30 '22 06:03 zhanghai

Note about related repos:

  • https://github.com/borisbrodski/sevenzipjbinding : Original repo
  • https://github.com/omicronapps/7-Zip-JBinding-4Android : Seems working.
  • https://github.com/seven332/a7zip : Extraction only.

zhanghai avatar Mar 30 '22 11:03 zhanghai

Code quailty issue of SevenZipJBinding (actually p7zip), plus the (un)rar license issue, makes #735 a much better alternaive of this.

zhanghai avatar Aug 28 '23 02:08 zhanghai