dlib-android
Purpose
Port dlib to Android platform
You can build it to dynamic or static library for Android. You can also build dlib's sample to Android executable file.
You can refer to dlib-android-app which demonstrates dlib-android features
Grab the source
$ git clone --recursive https://github.com/tzutalin/dlib-android.git
$ cd dlib-android
$ ./envsetup
Prerequisites
Download Android-NDK from Android website.
After downloading, go to the directory to which you downloaded the package to extract it
Export ANDROID_NDK_HOME in ~/.bashrc
$ vim ~/.bashrc
export ANDROID_NDK_HOME=[NDK_PATH]/android-ndk-[version]
export PATH=$PATH:$ANDROID_NDK_HOME
Install Android Debug Bride (ADB). You can download it via Android SDK Manager or $ sudo apt-get install android-tools-adb
Prepare an Android device for test
Build JNI code and shared library for Android application
You can change the compiler architecture in dlib-android/jni/Application.mk
The way to build the shared library for Android application
$ cd [dlib-android]
$ python build.py
Alternative way to build native code and copy to the Android Studio's project manually:
$ cd [dlib-android]
$ ndk-build -j 2
$ cp -r libs/* androidstudio-examples/dlib-android-app/dlib/src/main/jniLibs
Run Android application
- Open Android Studio's projects in androidstudio-examples/dlib-android-app to run face detection, face landmark, and so on
Folder structure
├── data # Test data or the models for detection and landmarks
├── dlib # Source files of dlib. It is a submodule
├── jni # Source files of JNI codes and their make files
├── androidstudio-examples # Android Studio's projects use the shared library built by this repo
├── tools # Tools and utilities
├── third_party # Like OpenCV and [miniglog](https://github.com/tzutalin/miniglog)
├── CMakeLists.txt # Use CMake to build instead of using Android.mk
├── LICENSE
└── README.md
Do you want to contribute
- If you have any improvement or you've found any bug, send a pull request with the code.
- Give me a star on this repository
Future tasks
- Add more examples to dlib-android-app