Android
This page describes how you can use sigrok on Android devices.
Screenshots
PulseView running on a 7" ARM Android tablet (800x400):
ChronoVu LA8, I²C
CWAV USBee SX, UART
Nightly APK builds
You can download and install the experimental PulseView nightly build APK:
The APK ships PulseView for Android including all required libraries, protocol decoders, and so on.
Firmware files
In order for libsigrok/PulseView to be able to find firmware files for certain devices, you have to copy them to the following location:
/sdcard/sigrok-firmware
Please check libsigrok's README.devices file or the respective wiki page to find out whether your device needs firmware files.
Issues
Please check the list of known Android related issues. If you have specific issues which are not listed yet, please open a bug report and attach the relevant information, e.g. which device you used, which architecture (ARM/x86/MIPS/etc), the relevant parts of the adb log, and so on.
Building from source
You can also build various sigrok components from source. The nightly APK (see above) is built using the sigrok-cross-android script from our sigrok-util repository. You can use that script to build your own APK locally (and/or modify it if you want).
$ git clone git://sigrok.org/sigrok-util $ cd sigrok-util/cross-compile/android
The following invocation will install the required Android NDK, SDK, and toolchains into $HOME/android (per default). Please check the README and modify the sigrok-cross-android script to your needs.
$ ./sigrok-cross-android prepare
Then, in order to build the APK, you can run:
$ ./sigrok-cross-android
The file build/pulseview/android/bin/PulseView-debug.apk is the APK that you can install on your Android device.
Manual testing
Create a temporary folder where you can store and execute files on your Android device.
$ adb shell $ mkdir /data/local/tmp/sigrok $ exit
Copy libraries to your device:
$ cd ~/sr_android/lib $ ls *.so* | while read l; do adb push $l /data/local/tmp/sigrok; done
Copy sigrok-cli to the device:
$ cd ~/sr_android/bin $ adb push sigrok-cli /data/local/tmp/sigrok
Test if sigrok-cli is working as expected:
$ adb shell $ cd /data/local/tmp/sigrok $ export LD_LIBRARY_PATH=/data/local/tmp/sigrok $ ./sigrok-cli --scan