Kiwix for Android
Switch branches/tags
Nothing to show
Clone or download
julianharty and mhutti1 Got Code Coverage Reports working while preserving dev debugging!
Wow, this 1 line change was painful to discover and apply. Many of the
details are in #836

NB: We've still to arrange and enable code coverage to be generated in
the CI process.
Latest commit 4ef37ef Sep 18, 2018
Permalink
Failed to load latest commit information.
.github fix checkbox in issue template for tests Aug 21, 2018
app Got Code Coverage Reports working while preserving dev debugging! Sep 19, 2018
config Added style guidelines Apr 6, 2017
docs Update code style Apr 1, 2018
gradle/wrapper Improve: Update Gradle version (#689) Apr 16, 2018
kiwixlib Update compile and target SDK version. Feb 22, 2018
templates Move gen-std-icon.py to kiwix-android-custom git repo Aug 9, 2017
.gitignore Updates and additional Espresso Tests (#705) Apr 16, 2018
.travis.yml Update the Android plugin for Gradle. (#677) Apr 1, 2018
CHANGELOG Update Changelog for version 2.4 Aug 12, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Feb 25, 2018
CONTRIBUTING.md Fix first link Aug 31, 2017
COPYING Move COPYING from old git repository 'kiwix-xulrunner' Feb 19, 2018
Kiwix_icon_transparent_512x512.png Merged kiwix-android code into main repo. Apr 4, 2013
Kiwix_icon_transparent_600x600.png Revert "Merge branch 'master' of ssh://git.code.sf.net/p/kiwix/kiwix" Apr 8, 2013
README.md Fix typo in Readme Mar 13, 2018
TRANSLATING.md First TRANSLATING.md file Jan 18, 2018
build.gradle Updates and additional Espresso Tests (#705) Apr 16, 2018
create-signed-android-release.sh minor fixes Jun 8, 2015
gradle.properties More memory for compilation Aug 30, 2018
gradlew Update compile and target SDK version. Feb 22, 2018
gradlew.bat Update compile and target SDK version. Feb 22, 2018
ic_launcher-web.png Add Circular icon asset for kiwix #381 Dec 31, 2016
install-kiwix-on-device.sh Updated custom apps to new structure Apr 6, 2017
kiwix_notification-web.png Android download notification icon displays correctly on 5.0 and above Jul 5, 2016
make-screenshot.sh Fix script to make screenshots Jan 17, 2018
proguard.cfg Possible fix for fatal error on some android phones Apr 14, 2016
settings.gradle Download kiwixlib from jcenter Aug 2, 2017
testdroid.py Increase testdroid timeout limit Aug 19, 2018
update-play-store.py Update update-play-store.py Sep 17, 2016
upload-apk.py Relative/Remote paths work with upload-apk.py #453 Feb 10, 2017
web_hi_res_512.png Change file permission Jun 7, 2015

README.md

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.

Build Status IRC Web

Build Instructions

Production releases of the app should be built with our companion build repository kiwix-build.

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.

We utilize different build variants (flavours) to build various different versions of our app. Ensure your build variant is kiwixDebug to build the standard app.

Libraries Used

  • Dagger 2 - A fast dependency injector for Android and Java
  • SquiDb - SquiDB is a SQLite database library for Android and iOS
  • 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
  • Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
  • Apache - The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.
  • RxJava - Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

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

Please use IRC to discuss questions regarding the project: #kiwix on irc.freenode.net

You can use IRC web interface on http://chat.kiwix.org/.

Our other sources of communications include

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

LEGAL & DISCLAIMER

Please refer to COPYING.