2.6 KiB
This repository contains the Android application to be used with Dashkiosk. Its documentation is on ReadTheDocs.
Compilation
This project uses Gradle. To compile, just use:
./gradlew assemble
To just build a debug APK, use:
./gradlew assembleDebug
The above commands will download a SDK if one is not found. However, currently, they fail to download some dependencies. You can download them manually with:
android update sdk --no-ui --all \
--filter extra-android-support,extra-android-m2repository
The embedded certificates are just here as an exemple. Only the client
certificate (along with the key) will be bundled in the
application. Since the CA shouldn't be used anywhere, it shoudn't be a
security risk. But you can remove the symbolic link in res/raw
. Have
a look at certificates/generate
script to understand how those
certificates were generated.
Currently, ensure that you store only one keypair in the keystore. The Android application will always use the first certificate.
About Dashkiosk
Dashkiosk is a solution to manage dashboards on multiple screens. It comes as four components:
-
A receiver runs in a browser attached to each screen and will display the requested dashboards. The receiver is quite dumb, it contacts the server and wait for it to tell which URL to display.
-
A server which will manage the screens by sending them what they should display. An administration interface allows the user to manage those screens individually or in a group.
-
An Android app that will run the receiver. This is mainly a fullscreen webview built on top of Crosswalk to get access to an up-to-date browser engine.
-
A Chromecast custom receiver which will run the regular receiver if you want to display dashboards using Google Chromecast devices.
Limitations and non-limitations
The Dashkiosk application for Android has a few perks, notably the support of WebGL and decent performance, thanks to the accelerated webview.
However, here are a few limitations:
- inability to login through a web form
- inability to preset a cookie (this could be a workaround for the limitation above and this should not be too complicated to do, open an issue if needed)
- inability to use several client certificates, see XWALK-6025)