Ini adalah klien Android untuk Delta Chat. Ini tersedia di F-Droid dan Google Play Store. APK juga dapat diunduh dari get.delta.chat.
Untuk perpustakaan inti dan info umum lainnya, silakan merujuk ke Perpustakaan Inti Delta Chat.
Untuk petunjuk kontribusi umum, silakan merujuk ke CONTRIBUTING.md.
Saat memeriksa deltachat-android , pastikan juga untuk memeriksa subproyek deltachat-core-rust :
$ git clone --recursive https://github.com/deltachat/deltachat-android
atau lebih baru dengan git submodule update --init --recursive
. Jika Anda melakukan ini di direktori home Anda, ini akan menghasilkan folder ~/deltachat-android
yang baik-baik saja. Repositori berisi lingkungan pengembangan Nix yang dijelaskan dalam file flake.nix
. Jika Anda belum menginstal Nix, cara termudah adalah dengan menggunakan The Determinate Nix Installer yang menginstal Nix dengan fitur Flakes yang sudah diaktifkan dan dapat dihapus dengan bersih menggunakan /nix/nix-installer uninstall
ketika Anda tidak memerlukannya. lagi.
Setelah Anda menyiapkan fitur Nix dengan Flakes, mulailah shell lingkungan pengembangan:
nix develop
Lingkungan pengembangan Nix berisi Rust dengan rantai alat kompilasi silang dan Android SDK.
Untuk membuat APK, jalankan 2 langkah berikut. Perhatikan bahwa langkah pertama mungkin memerlukan waktu untuk membangun semua arsitektur. Anda juga dapat membaca blok komentar pertama di skrip ndk-make.sh
untuk mendapatkan petunjuk tentang cara membuat arsitektur tertentu.
$ scripts/ndk-make.sh
$ ./gradlew assembleDebug
File APK yang dihasilkan dapat ditemukan di build/outputs/apk/gplay/debug/
dan build/outputs/apk/fat/debug/
.
Cara lain untuk membuat APK adalah dengan menggunakan Dockerfile
yang disediakan dengan Docker atau Podman. Podman adalah pengganti Docker yang tidak memerlukan hak akses root.
Jika Anda belum memiliki penyiapan Docker atau Podman, baca cara penyiapan Podman di bawah. Jika Anda tidak ingin menggunakan Docker atau Podman, baca cara menginstal lingkungan build secara manual.
Pertama, build image deltachat-android
dengan menjalankannya
podman build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
atau
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
Kemudian, jalankan gambarnya:
podman run --userns=keep-id -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
atau
docker run -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
Anda dapat keluar dari container dengan Ctrl+D atau dengan mengetik exit
dan masuk kembali dengan docker start -ia deltachat
atau podman start -ia deltachat
.
Di dalam container, instal toolchains dan bangun perpustakaan asli:
deltachat@6012dcb974fe:/home/app$ scripts/install-toolchains.sh
deltachat@6012dcb974fe:/home/app$ scripts/ndk-make.sh
Kemudian, buat APK:
deltachat@6012dcb974fe:/home/app$ ./gradlew assembleDebug
Eksekusi ./gradlew assembleDebug
di dalam container gagal karena The SDK directory '/home/user/Android/Sdk' does not exist.
:
Masalahnya adalah Android Studio (di luar container) secara otomatis membuat file local.properties
dengan konten seperti sdk.dir=/home/username/Android/Sdk
, jadi, Gradle-inside-the-container mencari Sdk di /home/username/Android/Sdk
, di mana ia tidak dapat menemukannya. Anda dapat:
sdk.dir
./gradlew assembleDebug
dari luar container (namun, mungkin ada masalah ketidakcocokan jika versi berbeda diinstal di dalam dan di luar container) Menjalankan gambar gagal dengan ERRO[0000] The storage 'driver' option must be set in /etc/containers/storage.conf, guarantee proper operation.
:
Di /etc/containers/storage.conf, ganti baris: driver = ""
dengan: driver = "overlay"
. Anda juga dapat mengatur opsi driver
ke sesuatu yang lain, Anda hanya perlu mengaturnya ke sesuatu . Baca tentang opsi yang memungkinkan di sini.
Sejauh ini instruksi ini hanya diuji pada mesin Manjaro. Jika ada yang tidak berhasil, silakan buka terbitan.
Pertama, Instal Podman.
Lalu, jika Anda ingin menjalankan Podman tanpa root, jalankan:
sudo touch /etc/subgid
sudo touch /etc/subuid
sudo usermod --add-subuids 165536-231072 --add-subgids 165536-231072 yourusername
(ganti yourusername
dengan nama pengguna Anda). Lihat https://wiki.archlinux.org/index.php/Podman#Rootless_Podman untuk informasi lebih lanjut.
Untuk mengatur lingkungan build secara manual:
Kemudian, dalam kedua kasus tersebut, instal Rust menggunakan Rustup dan Rust toolchains untuk kompilasi silang dengan mengeksekusi scripts/install-toolchains.sh
.
Kemudian, konfigurasikan variabel lingkungan ANDROID_NDK_ROOT
agar mengarah ke direktori instalasi Android NDK, misalnya dengan menambahkan ini ke .bashrc
Anda:
export ANDROID_NDK_ROOT= ${HOME} /Android/Sdk/ndk/[version] # (or wherever your NDK is) Note that there is no `/` at the end!
export PATH= ${PATH} : ${ANDROID_NDK_ROOT} /toolchains/llvm/prebuilt/linux-x86_64/bin/: ${ANDROID_NDK_ROOT}
Setelah itu, panggil scripts/ndk-make.sh
di direktori root untuk membangun core-rust. Setelah itu jalankan proyek di Android Studio. Proyek ini membutuhkan API 25.
Kemungkinan besar, itu saja :) - jika tidak, baca tentang cara menyiapkan lingkungan pengembangan yang tepat.
Beberapa lib yang diperlukan oleh Android Studio mungkin hilang pada mesin Linux 64 bit Sumber], jadi untuk Ubuntu jalankan $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
dan untuk Fedora jalankan $ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
.
Unduh Android Studio dari https://developer.android.com (android-studio-ide-...-linux.zip) dan ekstrak arsip yang berisi satu folder bernama android-studio
; pindahkan folder ini misalnya ke ~/android-studio
.
Untuk meluncurkan Android Studio untuk pertama kalinya, buka terminal, navigasikan ke ~/android-studio/bin
, jalankan ./studio.sh
dan gunakan semua nilai standar dari wizard.
Android Studio sekarang menanyakan apakah Anda ingin membuka proyek yang sudah ada; pilih ~/deltachat-android
seperti yang dibuat di bab "Membangun" (Android Studio mulai membangun proyek, namun ada beberapa langkah yang hilang sebelum ini berhasil).
Jika komponen hilang, klik pesan kesalahan yang sesuai dan instal misalnya. SDK yang diperlukan dan "Build-Tools" (Anda juga dapat menemukan opsi di "Tools / Android / SDK Manager / SDK Platforms"). Sekarang pembangunannya seharusnya berhasil - tetapi aplikasinya masih melewatkan bagian aslinya.
Unduh Android NDK dari Arsip NDK dan ekstrak arsip yang berisi satu folder bernama android-ndk-r23b-linux
; pindahkan folder ini misalnya ke ~/android-ndk
.
Ekspor jalur folder ke lingkungan Anda sebagai ANDROID_NDK_ROOT
dan tambahkan ke PATH
. Anda dapat mencapainya misalnya dengan menambahkan ini ke .bashrc
Anda
export ANDROID_NDK_ROOT= ${HOME} /android-ndk
export PATH= ${PATH} : ${ANDROID_NDK_ROOT} /toolchains/llvm/prebuilt/linux-x86_64/bin/: ${ANDROID_NDK_ROOT}
Anda tidak memerlukan perangkat pengujian khusus. Backup terlebih dahulu akun Anda saat ini, mungkin ada beberapa bug dalam berpindah akun.
Anda dapat menjalankan benchmark pada perangkat yang ditiru atau perangkat sebenarnya. Anda memerlukan setidaknya Android 9. Untuk hasil benchmark yang lebih baik, Anda harus menjalankan benchmark pada perangkat sebenarnya dan memastikan bahwa inti dikompilasi dalam mode rilis.
Nonaktifkan animasi pada perangkat Anda, jika tidak, pengujian mungkin gagal: pada "Opsi pengembang" atur semua "Skala animasi jendela", "Skala animasi transisi", dan "Skala durasi animator" ke 0x
Di Android Studio: "File"/"Sinkronkan proyek dengan file gradle"
Di Android Studio: "Jalankan" / "Edit konfigurasi" / "+" / "Tes Instrumen Android": Pilih kelas tertentu atau pilih "Semua dalam Modul" / "OK" / Pilih konfigurasi Anda di toolbar / Klik pada tombol hijau "jalankan" di toolbar untuk menjalankan tes
Ketika benchmark selesai maka akan mendapatkan hasil seperti MEASURED RESULTS (Benchmark) - Going thorough all 10 chats: 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057
. Anda dapat menempelkan 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057
ke dalam sel di spreadsheet LibreOffice, lakukan "Data" / "Teks ke kolom", pilih ,
sebagai pemisah, tekan "OK ", dan buat diagramnya.
Untuk beberapa pengujian, Anda perlu memberikan kredensial ke akun email sebenarnya. Anda memiliki 2 cara untuk melakukan ini:
(Disarankan): Masukkan ke dalam file ~/.gradle/gradle.properties (buat jika tidak ada):
[email protected]
TEST_MAIL_PW=youpassword
Atau atur melalui variabel lingkungan.
Metadata dan log perubahan Android diterjemahkan menggunakan Weblate.
Banyak kelas antarmuka pengguna didasarkan pada Android Signal messenger ketika kami mem-portingnya dari basis Telegram-UI sebelumnya pada tahun 2019. Sementara itu, pengembangan telah menyimpang di banyak bidang.
Berlisensi GPLv3+, lihat file LISENSI untuk detailnya.
Hak Cipta © 2022 Kontributor Delta Chat.