RadioDns mobile demonstrator
This demonstrator uses RadioDns metadata to operate an ip radio application. Currently we only support the development on Android but iOS is to come soon.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on any app store.
Prerequisites
Please follow the Installing dependencies section of the react native documentation.
Installing
To install development dependencies type into a terminal (with this directory as working directory)
npm install
You must also install TypeScript and TSLint:
npm install -g typescript tslint
Running the tests
Coming soon!
Running the application in local development
npm run start:android
Ensure that you have an emulator or a physical device connected to your development device first.
Deployment
(Optional) Generate a signing key
Android requires that all apps be digitally signed with a certificate before they can be installed. While this step is not required to generate an APK for testing purposes, it is mandatory if you intent to publish the app to Google Play store.
You can generate this key by following the Generating a signing key and Setting up gradle variables sections for the react native documentation.
Once your keystore is created you should place it under the android/app
folder.
Note: Remember to keep your keystore file private and never commit it to version control.
Building the APK
First build the Typescript sources with the following command:
npm run build
Then bundle the application with the following command:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
Finally build the APK with the following commands:
cd android
./gradlew assembleRelease
If you got Execution failed for task ':app:mergeReleaseResources'.
error message, delete the contents of all drawable folders.
Those folders are located under the android/app/src/main/res
folder.
The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk
, and is ready to be distributed if you
signed the APK.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Authors
- Ioannis Noukakis - Initial work - ioannisNoukakis
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
TODO
- Write proper tests.
- Add a translation module.
- Add error reporter module.