Difference between revisions of "Android"

From sigrok
Jump to navigation Jump to search
Line 29: Line 29:
Please check the '''README''' and edit the '''sigrok-cross-android''' as needed.
Please check the '''README''' and edit the '''sigrok-cross-android''' as needed.


=== Hardware ===
You may be interested to buy a [http://www.dx.com/p/micro-usb-on-the-go-host-otg-adapter-pair-50774?Utm_rid=28739841&Utm_source=affiliate Micro USB On-The-Go] (delivery is 4-8 weeks.)


=== Testing ===
=== Testing ===

Revision as of 22:02, 25 March 2014

Building from source

Initial setup

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

$ cd $HOME
$ mkdir android
$ cd android
$ wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86.tar.bz2
$ or wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2 (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/make-standalone-toolchain.sh --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.

You may need to install additional packages: libtool, ...

Cross-compiling

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

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

Hardware

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

Testing

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