A mapping and check-in library for Android using MapBox SDK (Version 8.3.3)
IMPORTANT UPDATE
Kujaku library and utils artefacts are no longer available on bintray and any builds using these dependencies will fail. Kindly update to use mavenCentral()
repository in your build.gradle
and the library
version 0.9.0
for a successful build. Kindly create an issue in case you face any problems.
Table of Contents
- Setup Instructions
- How to import the library
- How to use the library
- License
- Acknowledgements
- Specification
Setup Instructions
Running Sample App
For instructions on how to run the sample app see these instructions.
How to publish artifacts
You can easily publish a snapshot artefact by creating a tag for the library or util module. Follow the steps below:
To publish the utils module
- Update the
utils
version in this fileutils\build.gradle
in the formatX.Y.Z-SNAPSHOT
where X, Y and Z should be replaced with the version numbers of the major vesion, minor version and build versions respectively. - Create a PR with the change and have it merged
- Generate a tag with the title
utils-vX.Y.X-SNAPSHOT
and push it. This will trigger a publish of the artefact snapshot version to Sonatype and Github packages
To publish the library module
- Follow the steps above to get the latest version of
utils
as a dependency in your library snapshot - Update the
library
version in this filelibrary\build.gradle
in the formatX.Y.Z-SNAPSHOT
where X, Y and Z should be replaced with the version numbers of the major vesion, minor version and build versions respectively. - Create a PR with the change and have it merged
- Generate a tag with the title
library-vX.Y.X-SNAPSHOT
and push it. This will trigger a publish of the artefact snapshot version to Sonatype and Github packages
Due to the sunsetting of JFrog Bintray, Kujaku artefacts/release are no longer available on bintray and all publishing is done to Maven Central. Some of the packages are also published to Github packages.
How to import the library
To import the library:
- Add the following snippet to your app module
build.gradle
...
allprojects {
repositories {
mavenCentral()
}
}
This adds the bintray repository to your configuration
- Add the following snippet to your app module
build.gradle
...
android {
...
dependencies {
...
// Kujaku dependencies
implementation 'io.ona.kujaku:library:0.9.0'
...
}
- Initialise the library
This can be done in the Application class
KujakuLibrary.init(this);
- Set the Mapbox key
This is required before any use of the library such as offline map downloads or viewing a map
Mapbox.getInstance(context, "ACCESS-TOKEN");
How to use the library
The library offers a view KujakuMapView
that provides more functionality than Mapbox.
- For Mapbox related functionality, go here
- For setup information and extra features provided by this library go here
Unable to resolve artifact: Missing
while running tests
This is encountered when Robolectric has problems downloading the jars it needs for different Android SDK levels. If you keep running into this you can download the JARs locally and point Robolectric to them by doing:
./download-robolectric-deps.sh
License
This software is provided under the Apache 2 license, see the LICENSE file for further details.
Acknowledgements
We’d like to acknowledge The Bill and Melinda Gates Foundation and Qualcomm for supporting us in this work.