LiMium / mini-vector-android

A simpler Matrix client for Android, with fewer permissions and dependencies
Apache License 2.0
44 stars 4 forks source link
android less-is-more matrix matrix-org vector-image

miniVector

As of Aug 2020, the development of this fork has halted because the upstream code base has changed drastically, and there is not enough developer interest to make the transition here.

This is a minified Android Matrix client derived from the official client. It requires fewer permissions and compiles to a much smaller package.

Full credit goes to the original developers. This fork just shaves-off the following features and dependencies:

Links


The rest of this readme is the original readme from riot-android.


=======

Important Announcement

The core team is now working mainly on RiotX. New contributions about security concerns (PR, issues) are still welcome. Other subjects may rarely be addressed, as we do not have time to spend on maintenance on new features. Please contribute to RiotX now!

Contributing

Please refer to CONTRIBUTING.md if you want to contribute the Matrix on Android projects!

Build instructions

This client is a standard android studio project.

If you want to compile it in command line with gradle, go to the project directory:

Debug mode:

./gradlew assembleDebug

Release mode:

./gradlew assembleRelease

And it should build the project (you need to have the right android SDKs)

Recompile the provided aar files until we have gradle

generate olm-sdk.aar

sh build_olm_lib.sh

generate matrix-sdk.aar

sh build_matrix_sdk_lib.sh

generate the other aar files

sh build_jitsi_libs.sh

compile the matrix SDK with the Riot-android project

sh set_debug_env.sh

Make your own flavour

Let says your application is named MyRiot : You have to create your own flavour.

Modify riot-android/vector/build.gradle

In "productFlavors" section, duplicate "app" group if you plan to use FCM or "appfdroid" if don't.

for example, with FCM, it would give

    appmyriot {
        applicationId "im.myriot"
        // use the version name
        versionCode rootProject.ext.versionCodeProp
        versionName rootProject.ext.versionNameProp
        buildConfigField "boolean", "ALLOW_FCM_USE", "true"
        buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
        buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
    }

Create your flavour directory

Customise your flavour

You will need to manage your own provider because "im.vector" is already used (look at VectorContentProvider to manage it).

Customise your application settings with a custom google play link

It is possible to set some default values to Riot with some extra parameters to the google play link.

FAQ

  1. What is the minimum android version supported?

    the mininum SDK is 16 (android 4.1)

  2. Where the apk is generated?

    Riot/build/outputs/apk