Riot-Android

适用于 Android 的平滑的 Matrix 协作客户端。(A glossy Matrix collaboration client for Android)

Github星跟蹤圖

Riot-Android

Riot 是一个 Android Matrix 客户端。

重要公告

核心团队现在主要在 RiotX 上工作。仍欢迎有关安全性问题(PR,问题)的新贡献。由于我们没有时间花在维护新功能上,因此其他问题可能很少解决。现在请捐助 RiotX!

贡献

如果您想在 Android 项目中贡献 Matrix,请访问 CONTRIBUTING.md

构建说明

该客户端是一个标准的 android studio 项目。

如果要在命令行中使用 gradle 进行编译,请转到项目目录:

调试模式:

./gradlew assembleDebug

发布模式:

./gradlew assembleRelease

于是它应该构建项目(您需要具有正确的 android SDK)

重新编译提供的 aar 文件,直到获得 gradle

生成 olm-sdk.aar

sh build_olm_lib.sh

生成 matrix-sdk.aar

sh build_matrix_sdk_lib.sh

生成其他aar文件

sh build_jitsi_libs.sh

用 Riot-android 项目编译 matrix SDK sh set_debug_env.sh

使自己的味道

假设您的应用程序名为 MyRiot:您必须创建自己的样式。

修改 riot-android/vector/build.gradle

如果您打算使用 FCM,请在“productFlavors”部分中复制“app”组,否则请复制“appfdroid”。

例如,使用FCM,

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\""
    }

  • 如果您使用 FCM,请在此文件末尾复制 appImplementation,然后将 appImplementation 替换为 appmyriotImplementation。
  • 如果不这样做,请更新‘if (!getGradle().getStartParameter().getTaskRequests().toString().contains("fdroid"))’以包括您的风格。

创建您的风格目录

  • 如果使用 FCM,请复制 riot-android/vector/src/app 或 appfroid。
  • 将其重命名为 appmyriot。
  • 如果您使用 FCM,则需要生成自己的 google-services.json。

自定义您的口味

  • 打开 riot-android/vector/src/appmyriot/AndroidManifest.xml
  • 使用应用程序标记中的‘android:label="myRiot"" and "tools:replace="label"’将应用程序名称更改为 myRiot。
  • 通过在此目录类路径中添加资源,可以自定义任何其他字段。
  • 打开Android Studio,选择您的口味。
  • 构建并运行该应用程序:您制作了第一个 Riot 应用程序。

您将需要管理自己的提供程序,因为已经使用了“im.vector”(请查看 VectorContentProvider 进行管理)。

使用自定义的 Google Play 链接自定义您的应用程序设置

可以将一些默认值设置为 Riot,并为 Google Play 链接设置一些其他参数。

为了使此功能正常运行,可能必须从 Play 商店网站(而不是 Play 商店应用程序)安装该应用程序。

常问问题

支持的最低 Android 版本是多少?

最小的 SDK 是 16(android 4.1)

apk 是在哪里生成的?

Riot/build/outputs/apk

(The first version translated by vz on 2020.08.02)

主要指標

概覽
名稱與所有者element-hq/riot-android
主編程語言Java
編程語言Shell (語言數: 5)
平台Android
許可證GNU Affero General Public License v3.0
所有者活动
創建於2015-12-17 15:18:05
推送於2025-01-30 16:36:39
最后一次提交2020-05-20 23:18:42
發布數67
最新版本名稱v0.9.13 (發布於 )
第一版名稱v0.3.1 (發布於 2016-06-07 16:26:07)
用户参与
星數1.4k
關注者數106
派生數393
提交數8.1k
已啟用問題?
問題數2608
打開的問題數1096
拉請求數802
打開的拉請求數10
關閉的拉請求數88
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Riot-Android Buildkite Weblate Android Matrix room #riot-android:matrix.org Quality Gate Vulnerabilities Bugs

Riot is an Android Matrix client.

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\""
    }
  • if you use FCM, duplicate appImplementation at the end of this file and replace appImplementation by appmyriotImplementation.
  • if you don't, update the "if (!getGradle().getStartParameter().getTaskRequests().toString().contains("fdroid"))" to include your flavor.

Create your flavour directory

  • Copy riot-android/vector/src/app or appfroid if you use FCM or you don’t.
  • Rename it to appmyriot.
  • If you use FCM, you will need to generate your own google-services.json.

Customise your flavour

  • Open riot-android/vector/src/appmyriot/AndroidManifest.xml
  • Change the application name to myRiot with "android:label="myRiot"" and "tools:replace="label"" in the application tag.
  • Any other field can be customised by adding the resources in this directory classpath.
  • Open Android studio, select your flavour.
  • Build and run the app : you made your first Riot app.

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.

  • Use the https://developers.google.com/analytics/devguides/collection/android/v4/campaigns URL generator (at the bottom)
  • Set "Campaign Content" with the extra parameters (e.g. is=http://my__is.org%26hs=http://my_hs.org). Please notice the usage of %26 to escape the &
  • Supported extra parameters:
    • is : identity server URL
    • hs : home server URL
  • Generate the customised link
  • The application may have to be installed from the Play Store website (and not from the Play Store application) for this feature to work properly.

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