kiwix-android

Kiwix for Android

Github stars Tracking Chart

Kiwix Android

Kiwix is an offline reader for Web content. One of its main purposes
is to make Wikipedia available offline. This is done by reading the
content of a file in the ZIM format, a highly compressed open format
with additional meta-data. This is the version for Android.

Kiwix Android is written in Kotlin (with a few old
pieces in Java).

Build Status
codecov
CodeFactor
License: GPL v3
Public Chat

Build Instructions

Production releases of the app are built on travis and released automatically

To build this repository alone for development purposes you can simply
import the project into Android Studio and the hard work will be done
for you. If you prefer to build without Android Studio you must first
set up the Android SDK and then run the command: ./gradlew build
from the root directory of the project.

Kiwix-Android is a multi-module project, in 99% of scenarios you will want to build the app module in the debug configuration.
If you are interested in our custom apps they have their own repo kiwix-android-custom that goes into further detail

Libraries Used

  • Dagger 2 - A fast dependency injector for Android and Java
  • Retrofit - Retrofit turns your REST API into a Java interface
  • OkHttp - An HTTP+SPDY client for Android and Java applications
  • Butterknife - View "injection" library for Android
  • Mockito - Most popular Mocking framework for unit tests written in Java
  • RxJava - Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  • ObjectBox - Reactive NoSQL Databse to replace SquiDb
  • MockK - Kotlin mocking library that allows mocking of final classes by default.
  • JUnit5 - The next generation of JUnit
  • AssertJ - Fluent assertions for test code
  • Fetch - A customizable file download manager library for Android

Contributing

Before contributing be sure to check out the
CONTRIBUTION
guidelines.

We currently have a series of automated Unit and Integration
tests. These can be run locally and are also run when submitting a
pull request.

Code Style

For contributions please read the CODESTYLE
carefully. Pull requests that do not match the style will be rejected.

Commit Style

For writing commit messages please read the
COMMITSTYLE carefully. Kindly adhere to the
guidelines. Pull requests not matching the style will be rejected.

Communication

Available communication channels:

For more information, please refer to
https://wiki.kiwix.org/wiki/Communication.

License

GPLv3 or later, see
COPYING for more details.

Overview

Name With Ownerkiwix/kiwix-android
Primary LanguageKotlin
Program languageJavaScript (Language Count: 5)
Platform
License:GNU General Public License v3.0
Release Count40
Last Release Name3.10.1 (Posted on )
First Release Name2.4 (Posted on )
Created At2017-01-18 19:48:46
Pushed At2024-05-10 11:21:51
Last Commit At
Stargazers Count802
Watchers Count30
Fork Count436
Commits Count7.5k
Has Issues Enabled
Issues Count2000
Issue Open Count81
Pull Requests Count1447
Pull Requests Open Count5
Pull Requests Close Count353
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top