นี่คือไคลเอนต์ Android สำหรับ Delta Chat มีให้บริการบน F-Droid และ Google Play Store สามารถดาวน์โหลด 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 วิธีที่ง่ายที่สุดคือใช้ The Termate Nix Installer ซึ่งจะติดตั้ง Nix พร้อมฟีเจอร์ Flakes ที่เปิดใช้งานไว้ตั้งแต่แกะกล่อง และสามารถถอนการติดตั้งได้อย่างหมดจดด้วย /nix/nix-installer uninstall
เมื่อคุณไม่ต้องการแล้ว อีกต่อไป.
เมื่อคุณตั้งค่าคุณสมบัติ Nix with Flakes แล้ว ให้เริ่มเชลล์สภาพแวดล้อมการพัฒนา:
nix develop
สภาพแวดล้อมการพัฒนา Nix ประกอบด้วย Rust พร้อมด้วย cross-compilation toolchains และ Android SDK
หากต้องการสร้าง APK ให้ดำเนินการ 2 ขั้นตอนต่อไปนี้ โปรดทราบว่าขั้นตอนแรกอาจใช้เวลาพอสมควรในการสร้างสำหรับสถาปัตยกรรมทั้งหมด คุณสามารถเลือกอ่านบล็อกความคิดเห็นแรกในสคริปต์ 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
ภายในคอนเทนเนอร์ ให้ติดตั้ง toolchains และสร้างไลบรารีดั้งเดิม:
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 โดยใช้rustup และ Rust toolchains สำหรับการคอมไพล์ข้ามโดยการรัน 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 บิต Source] ดังนั้นสำหรับ 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
ตามที่สร้างในบท "Build" (Android Studio เริ่มสร้างโปรเจ็กต์ อย่างไรก็ตาม มีขั้นตอนบางอย่างที่ขาดหายไปก่อนที่จะดำเนินการได้สำเร็จ)
หากส่วนประกอบหายไป ให้คลิกที่ข้อความแสดงข้อผิดพลาดที่เกี่ยวข้องและติดตั้ง เช่น SDK ที่จำเป็นและ "เครื่องมือสร้าง" (คุณควรพบตัวเลือกที่ "เครื่องมือ / Android / ตัวจัดการ SDK / แพลตฟอร์ม SDK") ตอนนี้การสร้างน่าจะสำเร็จ - แต่แอปยังคงพลาดส่วนที่เป็นเนทีฟ
ดาวน์โหลด Android NDK จาก NDK Archives และแยกไฟล์เก็บถาวรที่มีโฟลเดอร์เดียวที่เรียกว่า 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: "Run" / "Edit configurations" / "+" / "Android Instrumented test": เลือกคลาสเฉพาะหรือเลือก "All in Module" / "OK" / เลือกการกำหนดค่าของคุณในแถบเครื่องมือ / คลิกที่ ปุ่ม "เรียกใช้" สีเขียวในแถบเครื่องมือเพื่อทำการทดสอบ
เมื่อการวัดประสิทธิภาพเสร็จสิ้น คุณจะได้รับผลลัพธ์เช่น 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 ทำ "Data" / "Text to columns" ,
เป็นตัวคั่น กด "ตกลง" " และสร้างไดอะแกรม
สำหรับการทดสอบบางอย่าง คุณจะต้องให้ข้อมูลประจำตัวแก่บัญชีอีเมลจริง คุณมี 2 วิธีในการทำเช่นนี้:
(แนะนำ): ใส่ไว้ในไฟล์ ~/.gradle/gradle.properties (สร้างมันขึ้นมาหากไม่มีอยู่):
[email protected]
TEST_MAIL_PW=youpassword
หรือตั้งค่าผ่านตัวแปรสภาพแวดล้อม
ข้อมูลเมตาและบันทึกการเปลี่ยนแปลงของ Android ได้รับการแปลโดยใช้ Weblate
คลาสอินเทอร์เฟซผู้ใช้จำนวนมากใช้ Android Signal Messenger เมื่อเราย้ายจากฐาน Telegram-UI เดิมในปี 2019 ขณะเดียวกัน การพัฒนาก็แยกออกไปในหลายพื้นที่
GPLv3+ ที่มีใบอนุญาต โปรดดูรายละเอียดในไฟล์ LICENSE
ลิขสิทธิ์ © 2022 ผู้ร่วมให้ข้อมูล Delta Chat