-
Notifications
You must be signed in to change notification settings - Fork 102
Developer
APRSdroid is written in Scala. To compile it, you will need the Scala compiler and runtime. This should be downloaded automatically as part of the build process. You are also required to install ProGuard to reduce the binary size.
Android SDK: You will need the Android SDK which can be downloaded and installed from Android Studio or you can just download the Android SDK command-line tools. The licenses for the Android APIs and Emulator images need to be accepted before running the build if they have not been installed prior. Also, make sure ANDROID_SDK_ROOT
is set to the correct location to the Android SDK in your environment.
ProGuard: get the current version from SourceForge and copy the proguard.jar
from the archive to aprsdroid/tools/
.
APRSdroid is using the Google Maps API for Android or alternatively the MapsForge library to display Maps (mapsforge
branch). The following steps are only needed for the Google Maps version.
You need to install the Maps component in your SDK (From “Available Packages”, install “Google APIs by Google Inc., Android API 28”), have an Emulator built with Maps support (“Google Inc.:Google APIs:28” or later is the target).
You will also need a Maps API key which you can place in the build.gradle
file:
resValue "string", "google_maps_key", "0N1kQgxBL5..."
Without a correct API key, the map will only display grey squares. You will also need a different API key for a production build.
Compilation is performed using the Gradle tool. It should be possible to integrate the project into Android Studio or other frameworks – feel free to document.
You will probably need to create the Android specific files before compilation.
APRSdroid currently is using a quick&dirty hacked together integration of PacketDroid’s multimon engine.
Build environment preparation:
If using the command-line tools only, they can be installed on Linux as such:
export ANDROID_SDK_ROOT="$(pwd)/android" mkdir -p "${ANDROID_SDK_ROOT}" wget https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip unzip commandlinetools-linux-6609375_latest.zip -d android/cmdline-tools export PATH="${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin:${PATH}"
After installing them, the licenses can be accepted by running these commands:
mkdir "${ANDROID_SDK_ROOT}/licenses" echo 24333f8a63b6825ea9c5514f83c2829b004d1fee > "${ANDROID_SDK_ROOT}/licenses/android-sdk-license" echo 84831b9409646a918e30573bab4c9c91346d8abd > "${ANDROID_SDK_ROOT}/licenses/android-sdk-preview-license"
Compilation:
./gradlew build
The project is targeted at API version Google Inc.:Google APIs:28
, please double-check your project.properties
file.
Translation is handled via Launchpad. There is a shell script in aprsdroid called xml2po.sh
which relies on the xml2po tool to convert the values.xml to a POT file and the PO files from LaunchPad to xml files.