هذا هو عميل Android لـ Delta Chat. وهو متوفر على F-Droid ومتجر Google Play. يمكن أيضًا تنزيل APK من get.delta.chat.
للحصول على المكتبة الأساسية والمعلومات الشائعة الأخرى، يرجى الرجوع إلى مكتبة Delta Chat الأساسية.
للحصول على تلميحات عامة حول المساهمة، يرجى الرجوع إلى CONTRIBUTING.md.
عند التحقق من deltachat-android ، تأكد أيضًا من التحقق من المشروع الفرعي deltachat-core-rust :
$ git clone --recursive https://github.com/deltachat/deltachat-android
أو لاحقًا عن طريق git submodule update --init --recursive
. إذا قمت بذلك في الدليل الرئيسي لديك، فسينتج عن ذلك المجلد ~/deltachat-android
وهو أمر جيد. يحتوي المستودع على بيئة تطوير Nix الموضحة في ملف flake.nix
. إذا لم يكن Nix مثبتًا لديك، فإن أسهل طريقة هي استخدام برنامج Determinate Nix Installer الذي يقوم بتثبيت Nix مع تمكين ميزة Flakes خارج الصندوق ويمكن إلغاء تثبيته بشكل نظيف عن طريق /nix/nix-installer uninstall
بمجرد عدم الحاجة إليه بعد الآن.
بمجرد إعداد ميزة Nix with Flakes، ابدأ تشغيل بيئة التطوير:
nix develop
تحتوي بيئة تطوير Nix على Rust مع سلاسل أدوات التجميع المتقاطع وAndroid SDK.
لإنشاء APK، قم بتنفيذ الخطوتين التاليتين. لاحظ أن الخطوة الأولى قد تستغرق بعض الوقت للإنشاء لجميع البنيات. يمكنك اختياريًا قراءة مقطع التعليق الأول في البرنامج النصي ndk-make.sh
للحصول على مؤشرات حول كيفية إنشاء بنية معينة.
$ scripts/ndk-make.sh
$ ./gradlew assembleDebug
يمكن العثور على ملفات APK الناتجة في build/outputs/apk/gplay/debug/
و build/outputs/apk/fat/debug/
.
هناك طريقة أخرى لإنشاء APK وهي استخدام Dockerfile
المتوفر مع Docker أو Podman. يعد Podman بديلاً مباشرًا لـ Docker ولا يتطلب امتيازات الجذر.
إذا لم يكن لديك إعداد Docker أو Podman بعد، فاقرأ كيفية إعداد Podman أدناه. إذا كنت لا تريد استخدام Docker أو Podman، فاقرأ كيفية تثبيت بيئة البناء يدويًا.
أولاً، قم بإنشاء صورة deltachat-android
عن طريق التشغيل
podman build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
أو
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
ثم قم بتشغيل الصورة:
podman run --userns=keep-id -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
أو
docker run -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
يمكنك ترك الحاوية باستخدام Ctrl+D أو عن طريق كتابة exit
وإعادة إدخالها باستخدام docker start -ia deltachat
أو podman start -ia deltachat
.
داخل الحاوية، قم بتثبيت سلاسل الأدوات وإنشاء المكتبة الأصلية:
deltachat@6012dcb974fe:/home/app$ scripts/install-toolchains.sh
deltachat@6012dcb974fe:/home/app$ scripts/ndk-make.sh
ثم قم بإنشاء ملف APK:
deltachat@6012dcb974fe:/home/app$ ./gradlew assembleDebug
فشل تنفيذ ./gradlew assembleDebug
داخل الحاوية مع The SDK directory '/home/user/Android/Sdk' does not exist.
:
تكمن المشكلة في أن Android Studio (خارج الحاوية) يقوم تلقائيًا بإنشاء ملف local.properties
بمحتوى مثل sdk.dir=/home/username/Android/Sdk
، لذلك يبحث Gradle-inside-the-container عن Sdk في /home/username/Android/Sdk
، حيث لا يمكن العثور عليه. يمكنك:
sdk.dir
./gradlew assembleDebug
من خارج الحاوية (ومع ذلك، قد تكون هناك مشكلات عدم توافق إذا تم تثبيت إصدارات مختلفة داخل الحاوية وخارجها) فشل تشغيل الصورة مع ERRO[0000] The storage 'driver' option must be set in /etc/containers/storage.conf, guarantee proper operation.
:
في /etc/containers/storage.conf، استبدل السطر: driver = ""
بـ: driver = "overlay"
. يمكنك أيضًا ضبط خيار driver
على شيء آخر، ما عليك سوى ضبطه على شيء ما . اقرأ عن الخيارات الممكنة هنا.
تم اختبار هذه التعليمات فقط على جهاز Manjaro حتى الآن. إذا لم ينجح أي شيء، يرجى فتح قضية.
أولاً، قم بتثبيت برنامج Podman.
بعد ذلك، إذا كنت تريد تشغيل Podman بدون الجذر، فقم بتشغيل:
sudo touch /etc/subgid
sudo touch /etc/subuid
sudo usermod --add-subuids 165536-231072 --add-subgids 165536-231072 yourusername
(استبدل yourusername
باسم المستخدم الخاص بك). راجع https://wiki.archlinux.org/index.php/Podman#Rootless_Podman لمزيد من المعلومات.
لإعداد بيئة البناء يدويًا:
بعد ذلك، في كلتا الحالتين، قم بتثبيت Rust باستخدام سلاسل أدوات Rust وRust للتجميع المتبادل عن طريق تنفيذ scripts/install-toolchains.sh
.
بعد ذلك، قم بتكوين متغير البيئة ANDROID_NDK_ROOT
للإشارة إلى دليل تثبيت Android NDK، على سبيل المثال عن طريق إضافة هذا إلى .bashrc
الخاص بك:
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}
بعد ذلك، قم باستدعاء scripts/ndk-make.sh
في الدليل الجذر لإنشاء core-rust. بعد ذلك قم بتشغيل المشروع في Android Studio. يتطلب المشروع API 25.
مع الصدفة، هذا كل شيء :) - إذا لم يكن الأمر كذلك، فاقرأ عن كيفية إعداد بيئة تطوير مناسبة.
قد تكون بعض libs التي يتطلبها Android Studio مفقودة على أجهزة Linux 64 بت المصدر]، لذلك بالنسبة لـ Ubuntu، قم بتنفيذ $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
وبالنسبة لـ Fedora، قم بتنفيذ $ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
.
قم بتنزيل Android Studio من https://developer.android.com (android-studio-ide-...-linux.zip) وقم بفك ضغط الأرشيف الذي يحتوي على مجلد واحد يسمى android-studio
؛ انقل هذا المجلد على سبيل المثال إلى ~/android-studio
.
لتشغيل Android Studio لأول مرة، افتح الوحدة الطرفية، وانتقل إلى ~/android-studio/bin
، وقم بتنفيذ ./studio.sh
واستخدم جميع القيم القياسية من المعالج.
يسألك Android Studio الآن عما إذا كنت تريد فتح مشروع موجود أم لا؛ اختر ~/deltachat-android
كما تم إنشاؤه في فصل "الإنشاء" (يبدأ Android Studio في إنشاء المشروع، ومع ذلك، هناك بعض الخطوات المفقودة قبل نجاح ذلك).
إذا كانت المكونات مفقودة، فانقر فوق رسالة الخطأ المقابلة وقم بتثبيتها على سبيل المثال. حزم SDK المطلوبة و"أدوات البناء" (يجب أن تجد أيضًا الخيار في "الأدوات / Android / SDK Manager / منصات SDK"). الآن من المفترض أن ينجح البناء - لكن التطبيق لا يزال يفتقد الجزء الأصلي.
قم بتنزيل Android NDK من أرشيفات NDK واستخرج الأرشيف الذي يحتوي على مجلد واحد يسمى شيئًا مثل android-ndk-r23b-linux
؛ انقل هذا المجلد على سبيل المثال إلى ~/android-ndk
.
قم بتصدير مسار المجلد إلى بيئتك كـ ANDROID_NDK_ROOT
وإضافته إلى PATH
. يمكنك تحقيق ذلك على سبيل المثال عن طريق إضافة هذا إلى .bashrc
الخاص بك
export ANDROID_NDK_ROOT= ${HOME} /android-ndk
export PATH= ${PATH} : ${ANDROID_NDK_ROOT} /toolchains/llvm/prebuilt/linux-x86_64/bin/: ${ANDROID_NDK_ROOT}
لا تحتاج بالضرورة إلى جهاز اختبار مخصص. قم بعمل نسخة احتياطية لحسابك الحالي أولاً، ربما تكون هناك بعض الأخطاء في تبديل الحسابات.
يمكنك تشغيل الاختبارات المرجعية على جهاز مقلد أو جهاز حقيقي. أنت بحاجة إلى Android 9 على الأقل. للحصول على نتائج أفضل لقياس الأداء، يجب عليك تشغيل المعيار على جهاز حقيقي والتأكد من تجميع النواة في وضع الإصدار.
قم بتعطيل الرسوم المتحركة على جهازك، وإلا فقد يفشل الاختبار: في "خيارات المطور"، اضبط كل "مقياس الرسوم المتحركة للنافذة" و"مقياس الرسوم المتحركة الانتقالية" و"مقياس مدة الرسوم المتحركة" على 0x
في Android Studio: "ملف"/"مشروع مزامنة مع ملفات gradle"
في Android Studio: "تشغيل" / "تحرير التكوينات" / "+" / "اختبار Android Instrumented": إما تحديد فئة معينة أو تحديد "الكل في الوحدة" / "موافق" / حدد التكوين الخاص بك في شريط الأدوات / انقر فوق زر "تشغيل" الأخضر في شريط الأدوات لإجراء الاختبارات
عند الانتهاء من المعيار، سوف تحصل على نتيجة مثل MEASURED RESULTS (Benchmark) - Going thorough all 10 chats: 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057
. يمكنك لصق 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057
في خلية في جدول بيانات LibreOffice، قم بإجراء "البيانات" / "النص إلى الأعمدة"، اختر ,
كفاصل، اضغط على "موافق" "، وقم بإنشاء رسم تخطيطي.
بالنسبة لبعض الاختبارات، تحتاج إلى تقديم بيانات الاعتماد إلى حساب بريد إلكتروني فعلي. لديك طريقتان للقيام بذلك:
(مستحسن): ضعها في الملف ~/.gradle/gradle.properties (قم بإنشائه إذا لم يكن موجودًا):
[email protected]
TEST_MAIL_PW=youpassword
أو قم بتعيينها عبر متغيرات البيئة.
تتم ترجمة البيانات التعريفية وسجلات التغيير لنظام Android باستخدام Weblate.
استندت العديد من فئات واجهة المستخدم إلى تطبيق Android Signal messenger عندما قمنا بنقله من قاعدة Telegram-UI السابقة في عام 2019. وفي الوقت نفسه، تباين التطوير في العديد من المجالات.
ترخيص GPLv3+، راجع ملف الترخيص للحصول على التفاصيل.
حقوق الطبع والنشر © 2022 مساهمي دلتا شات.