From sigrok
Jump to: navigation, search


PulseView running on a 7" Android tablet (800x400):

Building from source

Current status

You can start the sigrok application on your android phone using a terminal (ex: adb). You don't need root access.

It's strongly suggested to use at least android 4.0.3.

You cannot integrate sigrok in a android application yet. (WIP)

You don't have a nice UI. (WIP)


You can download a pre-compiled test version on [1]

You are welcome to give feedback to martling on the IRC channel or


  • I need to "ln". It's an issue as you need to be root to do that. You cannot have libs that don't follow the pattern.
  • I need to be root to be able to open the USB port. Solution: Find a way to "hack" or rebuild the libs to be able to inject the USB fs from the java/android layer.
  • I need to store the firmware somewhere.

Initial setup

First build the Linux version. You need some extra libraries that are not described here.

You may need to install additional packages: libtool, glibmm-2.4-dev...

Download the latest Android NDK and extract it, e.g. in $HOME/android.

$ cd $HOME
$ mkdir android
$ cd android
$ wget
$ or wget (If you have a 64 bits version of Linux)
$ tar xfvj android-ndk-r9d-linux-x86.tar.bz2
$ cd android-ndk-r9d

Now, create a toolchain installation that can be used for cross-compiling for Android (adapt --platform and --arch as needed):

$ ./build/tools/ --platform=android-15 --install-dir=$HOME/android/android-arm-toolchain --arch=arm

You now have a working toolchain and build environment in $HOME/android/android-arm-toolchain.


$ git clone git://
$ cd sigrok-util/cross-compile/android
$ ./sigrok-cross-android

Please check the README and edit the sigrok-cross-android as needed.


You may be interested to buy a Micro USB On-The-Go (delivery is 4-8 weeks.)


Create a temporary folder where you can store and execute files on your android phone.

$ adb shell
$ mkdir /data/local/tmp/sigrok/
$ exit

Copy libraries on your phone

$ cd ~/sr_android/lib/
$ ls *.so* | while read l; do adb push $l  /data/local/tmp/sigrok/; done

Copy sigrok-cli to the phone

$ cd ~/sr_android/bin/
$ adb push sigrok-cli /data/local/tmp/sigrok/

Test is sigrok cli is working as expected

$ adb shell
$ cd /data/local/tmp/sigrok
$ export LD_LIBRARY_PATH=/data/local/tmp/sigrok 
$ ./sigrok-cli --scan