develop OpenNI2 DS325(DepthSense) driver for Android and Arm Linux. There is no choice to use DepthSense 3D ToF sensor camera in embedded device(Arm, Android…), because of PrimeSense Xtion is discontinued and will be hard to get. Here is “How to build OpenNI2 DS325 driver for Android and Arm Linux Raspberry Pi”.

1.  Android Build

# Build OpenNI2 DS325 Driver for Android
tar -jxvf android-ndk-r8e-darwin-x86_64.tar.bz2
cd android-ndk-r8e
export NDK_ROOT=$PWD
export PATH=$PATH:$PWD
cd ..
git clone
cd openni2ds325/Packaging/
python android

# copy all shared libraries and ini file to Android
cd OpenNI-android-2.2
./adb push /system/lib/
./adb push /system/lib/
./adb push /system/lib/
./adb push /system/lib/
./adb push /system/lib/
./adb push /system/lib/
./adb push OpenNI.ini /system/lib/
./adb push PS1080.ini /system/lib/
./adb push DS325.ini /system/lib/
./adb push SimpleRead /system/lib/

# Sample Application Build
cd openni2ds325/Samples/DS325Sample/jni/

# import DS325Sample Project on Eclipse and Run.
スクリーンショット 2014-05-02 3.03.32


2. ARM Raspberry Pi

sudo apt-get update
sudo apt-get install g++ python libusb-1.0-0-dev freeglut3-dev \
                      doxygen graphviz openjdk-6-jdk libudev-dev
git clone

# edit "ThirdParty/PSCommon/BuildSystem/Platform.Arm" file
# change CFLAGS option.
CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8
CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard

# disable NEON option

# build OpenNI2
cd openni2ds325/Packaging
python Arm

# Run and check DS325
cd OpenNI-Linux-Arm-2.2/Samples/Bin