The Qabel Android Client
This project provides a Client for targeting Android. It is a small part of the qabel platform.
Introduction | Install | Getting Started | Usage | Structure | Contribution
For a comprehensive documentation of the whole Qabel Platform use https://qabel.de as the main source of information. http://qabel.github.io/docs/ may provide additional technical information.
Qabel consists of multiple Projects:
- Qabel Android Client
- Qabel Desktop Client
- Qabel Core is a library that includes the common code between both clients to keep them consistent
- Qabel Drop Server is the target server for drop messages according to the Qabel Drop Protocol
- Qabel Accounting Server manages Qabel-Accounts that authorize Qabel Box usage according to the Qabel Box Protocol
- Qabel Block Server serves as the storage backend according to the Qabel Box Protocol
Official distributions of the Qabel Android Client are provided by the official Qabel website at https://qabel.de/de/qabelnow and via Google Play. Everything below this line describes the usage of the Qabel Android Client for development purposes.
-
Install the Android SDK
-
Install the SDK version 23. Make sure you install the "Android Support Repository" and the latest "Android SDK build-tools"
-
Install the NDK
-
Checkout the project from git
-
Create the file /qabelbox/src/main/res/values/params.xml with the following contents:
<resources> <string name="hockeykey">dummykey</string> </resources>
-
Create a local.properties file at the root of your source checkout and add an sdk.dir and ndk.dir entry to it. For example:
sdk.dir=/opt/Android/SDK ndk.dir=/opt/Android/NDK
-
Run
./gradlew build
-
Usage of Android Studio with the Kotlin plugin is recommended for development
You can run the tests with the following gradle tasks:
./gradlew testDeveloperDebugUnitTest
runs the local unit tests./gradlew spoonDeveloperDebugAndroidTest
runs all instrumentation tests on all connected devices and emulators
To run the unit tests directly from Android Studio, you need to change the default options for the JUnit task. Change the vm-options to -ea -Djava.library.path=libs/
so that the android studio testrunner finds the crypto library we use.
You are missing some libs for the 32bit aapt. For ubuntu try
sudo apt-get install lib32stdc++6 lib32z1
The test server addresses are hard coded in TestConstants.java and the live servers are configured in a string ressource servers.xml
For issues using the Qabel Android Client, use the feedback feature inside the app (Settings -> Feedback).
Otherwise, use the Issue tracker of GitHub.
Please read the contribution guidelines at https://github.com/Qabel/qabel-core/blob/master/CONTRIBUTING.md carefully.