Difference between revisions of "Android"
Line 31: | Line 31: | ||
http://sigrok.org/wiki/Linux | http://sigrok.org/wiki/Linux | ||
You may need to install additional packages: libtool, glibmm-2.4-dev... | |||
Line 48: | Line 50: | ||
You now have a working toolchain and build environment in '''$HOME/android/android-arm-toolchain'''. | You now have a working toolchain and build environment in '''$HOME/android/android-arm-toolchain'''. | ||
=== Cross-compiling === | === Cross-compiling === |
Revision as of 11:04, 24 April 2014
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)
Binary
You can download a pre-compiled test version on [1]
You are welcome to give feedback to martling on the IRC channel or gabriel.klein@nuage.ch.
Issues
- I need to "ln libftdi.so libftdi.so.1". It's an issue as you need to be root to do that. You cannot have libs that don't follow the libXXX.so 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 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.
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