/Amendroid7z

an Android File Manager based on 7zip

Primary LanguageC++Apache License 2.0Apache-2.0

Amendroid7z

This is an Android File Manager based on 7zip. The published version can be downloaded from Google Play.

To compile 7zip into Amendroid7z, I utilized the NDK toolset provided by Google and made some modifications on the source code of 7zip. Just follow instructions from official documentation, I wrote an NDK-style Makefile -- Android.mk under folder jni/. The output of NDK, dynamic link library -- libmy7zip.so is under folder libs/armeabi/.

The main trick adopted here is to redirect the output of the program 7z. Significant files(including modified source files from 7zip and the files I created for JNI) are shown as following:

jni
├── Android.mk
├── CPP
│   ├── 7zip
│   │   └── UI
│   │       └── Console
│   │           ├── Main.cpp
│   │           ├── MainAr.cpp
│   │           └── MainAr.h
│   ├── Common
│   │   ├── StdOutStream.cpp
│   │   └── StdOutStream.h
│   └── myWindows
│       └── config.h
├── com_nathaniel_amendroid7z_Main.cpp
└── com_nathaniel_amendroid7z_Main.h

I'm not the expert of Android NDK, but if you have any problem to compile 7zip using my Android.mk under NDK environment, please feel free to email me for discussion.