GNU Radio for Android

While I have been talking around it for a while, I wanted to better
publicize our work on GNU Radio for Android. We can now build
applications
that run GNU Radio flowgraphs on Android (>= 5.0). We build the
flowgraph
in C++ and link it through to a Java app for the user interface using
the
JNI. I have tried to collect the howtos for getting all of the various
parts up and running here:

http://gnuradio.org/redmine/projects/gnuradio/wiki/Android

Last week, we got UHD support working, and I felt this was a big marker
in
our progress on the project. To top it off, we now even have ControlPort
support on Android apps, which makes it possible to provide remote
control
and run tools like gr-perf-monitorx, from which I’m already finding out
new
things about GNU Radio and Android device performance issues.

There’s still a big warning about this being a work in progress, and it
definitely is. However, with the support for all of the various hardware
and tools that we now have, I think we’re at a place of usability for a
lot
of applications.

Feel free to ask questions if things in the wiki don’t work for you.
I’ve
tried to go through it multiple times and make it as robust as possible
and
mostly things should be copy-and-paste. But as things change, and they
do
rapidly here, we’re likely to continue to need some evolution of the
instructions.

I will hopefully post some of my simple applications online sometime
soon,
as well.

Tom

Wow, it’s so cool! I’ll have a try, following your wiki. -Lin

2015-05-06 4:06 GMT+08:00 Tom R. [email protected]:

Hi,

I’ve been trying the instructions in the wiki with ubuntu 15.04 and gcc
4.8
(4.9 also gave me problems).

I got the following error checking out the android branch from git://
git.gnuradio.org/gnuradio.git
error: The following untracked working tree files would be overwritten
by
checkout:
volk/CMakeLists.txt

Aborting

But it worked well with the repo: GitHub - trondeau/gnuradio: GNU Radio

I also got an error compiling GRAnd. It seems to be related with boost,
which I cross compiled following the instructions. I’ve attached the
output
of make, if anyone has the time to have a look at it it would be much
appreciated.

Thanks,
Murray

2015-05-06 8:29 GMT+01:00 Lin HUANG [email protected]:

On Fri, May 8, 2015 at 7:57 PM, Murray T.
[email protected]
wrote:


Aborting

But it worked well with the repo: GitHub - trondeau/gnuradio: GNU Radio

Ok, that should be fixed now. I use the trondeau/gnuradio android branch
as
my staging area while working on new stuff. The one on gnuradio’s repo
was
prior to me rebasing off the latest master, which was before the volk
submodule change. I’ve just updated gnuradio’s repo branch to the latest
so
we shouldn’t see this problem now.

I also got an error compiling GRAnd. It seems to be related with boost,
which I cross compiled following the instructions. I’ve attached the output
of make, if anyone has the time to have a look at it it would be much
appreciated.

Thanks,
Murray

Can you send me the command you used and output of cmake? I’m wondering
if
it’s picking up a wrong version of Boost. You can force this by passing
it
-DBOOST_ROOT=<base of dir when libboost_xxx.a lives in base/lib>.

Just make sure that PREFIX is set correctly and Boost was installed into
that same PREFIX.

Tom

On Sat, May 9, 2015 at 11:07 AM, Murray T.
[email protected]
wrote:

I’ve attached the command used and the output of cmake.
Thanks for your time.
Murray

Ah, ok, I think I see the problem. I’ve left out PMT as a dependency. If
you go into gr-grand/CMakeLists.txt file, change line 113 from:

set(GR_REQUIRED_COMPONENTS RUNTIME VOLK)

to

set(GR_REQUIRED_COMPONENTS RUNTIME PMT VOLK)

I have a feeling my system is picking up an outdated component check
file
because it’s pulling in libgnuradio-pmt.so for me as part of the RUNTIME
check.

Everything else looked good. Thanks for all the necessary details here.

Let me know if this works for you and I’ll check in the patch.

Also, what version of cmake are you using? Looks like there’s a lot of
sloppiness in my cmake stuff for this project, and I’m guessing you’re
using a newer version that’s throwing all of those warnings. I’ll try to
clean that up, too.

Thanks,
Tom

I’ve attached the command used and the output of cmake.
Thanks for your time.
Murray

2015-05-09 15:10 GMT+01:00 Tom R. [email protected]:

Thanks Tom,
That change solved the problem and I managed to install it.
I’m using cmake version 3.0.2. The change in the gnuradio repo also
fixed
my problem checking out the android branch.
I appreciate you taking the time to help me with this problems so
quickly,
specially on a weekend. I’ll have to think about something cool to do
with
GnuRadio and Android now :slight_smile:

Cheers,
Murray

2015-05-09 17:58 GMT+01:00 Tom R. [email protected]:

On Sat, May 9, 2015 at 4:59 PM, Murray T.
[email protected]
wrote:

No problem. I’m glad we got it worked out. I just pushed that patch to
the
public repo.

And yes, let’s figure out some cool stuff here!

Tom