This should prepare you for developing the app.
- Install Android Studio
In order to develop the app, I use Android Studio. You can download and install it. - Install Git
While Android Studio installs, you can get the source code. It is on GitHub. We use Git to develop the app in a distributed way. Please install Git or the GitHub Desktop. - Fork the repository to your GitHub Account.
- Get the source code
It should appear automatically in GitHub Desktop. If you use the command line client, you can clone the app like this:Please replacegit clone https://github.com/YOUR_USER_NAME/mundraub-android.git
YOUR_USER_NAME
with your GitHub username. - Open the source code
Once Android Studio is installed, you can click on File → Open and navigate to the project. - Now you are ready to go. You can change the source code and build the app! Please view the Contribution Guidelines if you like to share your improvements or just submit them and we will talk.
You can always translate the app from English to your preferred language online on Transifex. If you like to build the app with translations included, you can use the Transifex client to download all of them at once.
Before you build the app, you can download the current translations to include them in the build and test different layouts e.g. in German which uses the most space. To download the translations, you can follow these steps:
- Install Transifex client.
- Go to the repository root
cd mundraub-android
- Pull the latest translations. You may need to log in or get an API key.
tx pull --all
The map is an HTML/CSS/JavaScript website which is displayed in the app as an Android WebView. This map can be worked on locally and in the app. To display the map, you need a web browser like Firefox.
Mundraub.org does not allow JavaScript access to the map
directly because it does not set the Access-Control-Allow-Origin
header.
Thus, we need a proxy for this map.
The proxy can be run with the command scripts/runHTTPProxy.sh
You need java
and javac
for this.
Please the the API to know what the proxy provides.