GNU Radio on Android
This project and this page are very much a work-in-progress. There is likely tons left to do in the project space and this page is likely to contain errors. Also, Android is a bit of a moving target, so as things progress on all sides, we will have to keep updating the information on this page as best as possible. One major caveat is that this requires Android 5.0 (Lollipop) or later.You can now download a tarball (gzip'd) of all the dependencies required to build GNU Radio Android applications. You can use these pre-built binaries instead of trying to build you own using the first two links below. The files are stored in the tarball in the directory grandroid. Most of the Android examples assume that these files are located in the directory /opt/grandroid. Use the command
sudo tar xzf grandroid.tar.gz -C /opt.
The grandroid directory contains both the Android Toolkit used during the build process as well as a MANIFEST file that contains information about what dependencies are installed as well as the version (or git reference) for each dependency.
NOTE: The dependencies are currently only built for ARMv7 (32-bit) architectures.
IMPORTANT: Please use the NDK version r10e. Newer versions (r11c out currently) have removed GCC version 4.8 and only include 4.9. We have some C++ build issues with 4.9 and must use 4.8.
Step-by-Step Instructions for Building GNU Radio and the Dependencies
Information on Working with GNU Radio on Android
- Available Applications for Android
- Help and hints for building GNU Radio Android Apps
- Building a Basic App
- Building a an App with ControlPort
- Building a an App connected to a USRP
- Debugging with Android
The following lists tested, working devices and the version of Android used.
- Nexus 7 (5.1.1)
- Nexus 7 (6.0.1)
- Samsung Galaxy S6 (5.1.1)
- Samsung Galaxy S6 (6.0.1)
- nVidia Shield (6.0.1)
- Moto X Pure (5.1.1)
- Moto X (5.1.0)
These devices do not work:
- Nexus 7 (5.0.1) - Gave /sdcard permission errors (Android version problem)
- Moto G (3rd gen) (5.1.1) - Did not power USRP B200mini
- Moto G (3rd gen) (6.0.1) - Did not power USRP B200mini
- OnePlus Two (5.1.1) - Did not power USRP B200mini