Dieses Repository ist Teil des Quellcodes von Wire. Weitere Informationen finden Sie unter Wire.com oder indem Sie sich an [email protected] wenden.
Den veröffentlichten Quellcode finden Sie unter github.com/wireapp/wire und die APK der neuesten Version unter https://wire.com/en/download/.
Informationen zur Lizenzierung finden Sie in der beigefügten LIZENZ-Datei und in der Liste der Drittanbieterlizenzen unter wire.com/legal/licenses/.
Wenn Sie die Open-Source-Software, die wir von Zeit zu Zeit zur Verfügung stellen, kompilieren, um Ihre eigene Mobil-, Desktop- oder Webanwendung zu entwickeln, und veranlassen, dass diese Anwendung zu irgendeinem Zweck eine Verbindung zu unseren Servern herstellt, bezeichnen wir die resultierende Anwendung als „Open Source“. App“. Alle Open-Source-Apps unterliegen den für die Wire-Anwendung geltenden Nutzungsbedingungen, die unter https://wire.com/legal/#terms zu finden sind, und dürfen nur in Übereinstimmung mit diesen genutzt und/oder kommerzialisiert werden. Wenn Sie sich für die Erstellung einer Open-Source-App entscheiden, gelten außerdem bestimmte Einschränkungen wie folgt:
A. Sie erklären sich damit einverstanden, die Art und Weise, wie die Open-Source-App eine Verbindung zu unseren Servern herstellt und mit ihnen interagiert, nicht zu ändern. B. Sie erklären sich damit einverstanden, keine der Sicherheitsfunktionen der Open-Source-App zu schwächen; C. Sie erklären sich damit einverstanden, unsere Server nicht zum Speichern von Daten für andere Zwecke als die beabsichtigte und ursprüngliche Funktionalität der Open-Source-App zu nutzen; D. Sie erkennen an, dass Sie allein für alle Aktualisierungen Ihrer Open-Source-App verantwortlich sind.
Zur Klarstellung: Wenn Sie die Open-Source-Software, die wir von Zeit zu Zeit zur Verfügung stellen, kompilieren, um Ihre eigene Mobil-, Desktop- oder Webanwendung zu entwickeln, und diese Anwendung zu keinem Zweck eine Verbindung zu unseren Servern herstellt, wird dies bei dieser Anwendung nicht der Fall sein gelten als Open-Source-App und das Vorstehende gilt nicht für diese Anwendung.
Für die Marke Wire und die damit verbundenen Logos wird keine Lizenz gewährt, diese bleiben weiterhin ausschließlich Eigentum der Wire Swiss GmbH. Jegliche Verwendung der Marke Wire und/oder der damit verbundenen Logos ist ohne die ausdrückliche vorherige schriftliche Zustimmung der Wire Swiss GmbH ausdrücklich untersagt.
Das Projekt in diesem Repository enthält das Wire für Android-Clientprojekt. Sie können das Projekt selbst erstellen. Allerdings gibt es einige Unterschiede zum binären Wire-Client, der im Play Store erhältlich ist. Diese Unterschiede sind:
Um Wire für Android lokal zu erstellen, müssen die folgenden Tools installiert sein:
Dies sind die verfügbaren gradle
-Aufgaben über die Befehlszeile:
./gradlew compileApp
: Kompiliert den Wire-Android-Client./gradlew assembleApp
: Assembliert den Wire-Android-Client./gradlew runApp
: Stellt den Wire-Android-Client zusammen und führt ihn auf dem verbundenen Gerät aus../gradlew runUnitTests
: Führt alle Unit-Tests aus../gradlew runAcceptanceTests
: Führt alle Akzeptanztests auf dem verbundenen Gerät aus../gradlew testCoverage
: Erstellt einen Bericht zur Testcodeabdeckung./gradlew staticCodeAnalysis
: Führt eine statische Codeanalyse auf der Wire-Android-Codebasis aus Importieren Sie das Projekt als Gradle-Projekt, indem Sie zum Stammpfad der Datei build.gradle.kts
im Verzeichnis Ihres Projekts navigieren.
Möglicherweise treten nach dem Klonen des Android-Projekts einige Build-Probleme in Ihrer IDE (IntelliJ oder Android Studio) auf. Um die meisten davon zu vermeiden, stellen Sie sicher, dass:
git submodule update --init --recursive
ausgeführt (um alle erforderlichen Konfigurationen innerhalb des eingebetteten Kalium-Submodulprojekts zu initiieren).local.properties
UND kalium/local.properties
, der auf den Android SDK-Ordner verweist. Auf dem Mac ist dieser Ordner normalerweise unter sdk.dir=/Users/YOUR_USER_FOLDER/Library/Android/sdk
zu finden. Die IDE erstellt kalium/local.properties
nicht automatisch, daher möchten Sie möglicherweise die Datei im Projektstamm kopieren/einfügenkalium
Submodul-Referenz aktualisiert haben, indem Sie Folgendes ausführen: git submodule update --remote --merge
Wir haben einige verschiedene App-Varianten mit unterschiedlichen Verwendungszwecken. Jede App-Variante hat eine andere Symbolhintergrundfarbe, um eine einfachere Unterscheidung zu ermöglichen. Um zu sehen, wie sie im Detail angepasst werden, überprüfen Sie die Flavour-Konfigurationsdatei.
Notiz
Bei benutzerdefinierten Builds überschreiben wir einige der Flags, Zeichenfolgen und Symbole. Weitere Informationen finden Sie in CUSTOMIZATION.md.
Name | Hintergrundfarbe des Symbols | Beschreibung / Verwendungszweck | Protokollierung aktiviert | Standard-Backend |
---|---|---|---|---|
Entwickler | ? | Für die Entwicklung neuer Funktionen. Auf dem neusten Stand. Instabil. Staging-Backend. Isst experimentelle Features zum Frühstück und trinkt Entwicklertränen zum Nachtisch. | ✅ | Drahtinszenierung |
Inszenierung | ? | Hauptsächlich für die Qualitätssicherung, um eine releaseähnliche App mit einem Staging-Backend zu testen. Imitiert die Production/Release-Anwendung mit Funktionsflags, die der Prod/White-App unten folgen, jedoch mit zusätzlichen Entwicklungstools. | ✅ | Drahtinszenierung |
Intern | ? | Derzeit unbenutzt (?). Es wurde in der Vergangenheit verwendet und sollte wahrscheinlich bald gelöscht werden. | ✅ | Drahtprod |
Beta | ? | Wird von internen Benutzern im Unternehmen als Hundefutter verwendet. Einige Funktionen, die noch nicht für die breite Öffentlichkeit bereit sind, können hier zunächst getestet werden. | ✅ | Drahtprod |
Prod | ⚪ | Die Produktions-App für die breite Öffentlichkeit. | ✖️ | Drahtprod |
F-Droide | ⚪ | Auch eine Produktions-App für die breite Öffentlichkeit. Veröffentlicht im F-Droid Store, jedoch ohne Closed-Source-Software. | ✖️ | Drahtprod |
Wichtig
Protokolle zu allen Builds außer Prod und F-Droid werden zur Entwickleranalyse auf einen Drittanbieterdienst hochgeladen.
Protokolle auf Prod und F-Droid können innerhalb der Anwendung aktiviert werden, sie werden jedoch NICHT irgendwo hochgeladen. Benutzer können die Protokolldateien manuell aus der Anwendung exportieren und lesen.
Wir protokollieren in keiner Weise sensible Inhalte (wie Nachrichteninhalte, Verschlüsselungsschlüssel usw.). Und Dinge wie eindeutige Identifikatoren werden verschleiert.
Die Apps können zur Veröffentlichung oder zum Debuggen erstellt werden. Debug-Versionen verfügen möglicherweise über zusätzliche Debugging-Tools, sind nicht minimiert und können bei Bedarf profiliert werden. Im Allgemeinen laufen Debug-Builds aufgrund der fehlenden Minimierung langsamer .
Wenn Sie zu Wire für Android beitragen möchten, finden Sie weitere Informationen in der Datei CONTRIBUTING.md.