armeabi-v7a
und arm64-v8a
).Der einfachste Weg ist, eine Entwicklungumgebung in Docker zu erstellen. Das Dockerfile dient auch der Dokumentation der nativen Entwicklungumgebung.
Docker installieren. Manche Installationen beschränken die maximale Containergröße, es werden ca. 18 Gb benötigt.
Checkout des Repository (um das Dockerfile
zu bekommen).
git clone --depth=1 https://github.com/bastibl/gnuradio-android.git cd gnuradio-android/docker
docker build -t gnuradio-android .
privileged
Flag und der /dev/bus/usb
Mount scheinen benötigt zu werden, um das Tablet/ Handy vom Container aus ansprechen zu können. Die DISPLAY
Variable und der Xauthority
Mount erlauben die GUI Programme im Kontainer zu starten.docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/home/android/.Xauthority:rw" gnuradio-android
~/src/android-studio/bin/studio.sh
Handy/Tablet in den Developer Modus (siehe Anleitungen) versetzen.
Das Mobiltelefon/Handy sollte jetzt im Android Studio angezeigt werden. Wenn nicht, sollte überprüft werden, ob der Host adb
als Auto-Start ausführt. In diesem Fall sollte der Prozess beendet werden, da das Android-Gerät nur zu einen adb-Server gleichzeitig verbunden sein kann.
Im Container befinden sich einige Beispielprojekte, z.B. ein FM Empfänger in ~/src/android-fm
. Öffne das Projekt im Android Studio um die Toolchain zu testen.
Diese Anwendung ist ein Proof-Of-Concept und enthält keine umfangreiche Liste von USB Vendors und Product IDs für SDRs. Möglicherweise müssen deshalb einige Änderungen durchgeführt werden.
Setzen von USB Product und Vendor Id: https://github.com/bastibl/android-fm/blob/master/app/src/main/java/net/bastibl/fmrx/MainActivity.kt#L113
Festlegen, ob ein HackRF (hackrf=0
) oder ein RTL-SDR (rtl=0
) verwendet werden: https://github.com/bastibl/android-fm/blob/master/app/src/main/cpp/native-lib.cpp#L93
Die App erzeugen und am Android-Gerät installieren. Wenn das Gerät zum ersten Mal mit Android Studio verbunden wird, fragt es deshalb, ihm die Berechtigung zum Zugriff zu erteilen.
Die App schließen, das Android-Gerät vom PC abstecken, OTG Mode am Android-Gerät einschalten, SDR mit OTG-Kabel mit dem Android-Gerät verbinden und die neue App starten.