forked from openvinotoolkit/openvino
-
Notifications
You must be signed in to change notification settings - Fork 0
BuildingForAndroid
Dmitry Kurtaev edited this page Dec 8, 2020
·
6 revisions
This section describes how to build Inference Engine for Android operating systems.
- CMake* 3.13 or higher
- Android NDK (this guide has been validated with r20 release)
- Download and unpack Android NDK: https://developer.android.com/ndk/downloads. Let's assume that
~/Downloads
is used as a working folder.
cd ~/Downloads
wget https://dl.google.com/android/repository/android-ndk-r20-linux-x86_64.zip
unzip android-ndk-r20-linux-x86_64.zip
mv android-ndk-r20 android-ndk
- Clone submodules
cd openvino
git submodule update --init --recursive
- Create a build folder:
mkdir build
- Change working directory to
build
and runcmake
to create makefiles. Then runmake
.
cd build
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=~/Downloads/android-ndk/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=x86_64 \
-DANDROID_PLATFORM=21 \
-DANDROID_STL=c++_shared \
-DENABLE_OPENCV=OFF
make --jobs=$(nproc --all)
-
ANDROID_ABI
specifies target architecture:-
x86_64
for x64 build -
armeabi-v7a with NEON
for ARM with NEON support -
arm64-v8a
for ARM 64 bits
-
-
ANDROID_PLATFORM
- Android API version -
ANDROID_STL
specifies that shared C++ runtime is used. Copy~/Downloads/android-ndk/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_shared.so
from Android NDK along with built binaries
- To reduce the binaries size, use
strip
tool from NDK:
~/Downloads/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/x86_64-linux-android/bin/strip openvino/bin/intel64/Release/lib/*.so
© Copyright 2018-2022, OpenVINO team
- Home
- General resources
- How to build
-
Developer documentation
- Inference Engine architecture
- OpenVINO Python API
- CPU plugin
- GPU plugin
- HETERO plugin architecture
- Snippets
- Sample for IE C++/C/Python API
- Proxy plugin (Concept)
- Tests