นี่คือสาเหตุที่แอป Termux ไม่ได้รับการอัปเดตบน Google Play อีกต่อไป

ทีมงาน Termux หยุดอัปเดตเวอร์ชัน Play Store แล้ว หากต้องการรับการอัปเดตต่อไป ผู้ใช้ควรย้ายไปยังรุ่น F-Droid

หลายๆ คนอาจทราบดีว่าระบบปฏิบัติการ Android ขับเคลื่อนโดยเคอร์เนล Linux ที่อยู่ด้านล่าง อย่างไรก็ตาม แอป Android และ Linux ไม่สามารถแลกเปลี่ยนได้อย่างง่ายดายเนื่องจากระบบรันไทม์และไลบรารีที่แตกต่างกัน อย่างไรก็ตาม คุณสามารถรับแอปเทอร์มินัลอีมูเลเตอร์ได้ เทอร์แม็กซ์ ติดตั้งและทำงานบนอุปกรณ์ Android ใด ๆ เป็นเวลาหลายปีแล้วที่ผู้ใช้ Android ผู้เจ้าเล่ห์ใช้ Termux เป็นซอฟต์แวร์จำลองเทอร์มินัลที่มีประโยชน์ รวมถึงสภาพแวดล้อม GNU/Linux ที่ทรงพลัง ต้องขอบคุณ Linux Package Collection ที่มีขนาดใหญ่มาก น่าเสียดายที่แอปนี้อยู่ในจุดเชื่อมต่อที่สำคัญของชีวิต เนื่องจากนักพัฒนาได้ตัดสินใจหยุดอัปเดต Play จัดเก็บเวอร์ชันทั้งหมดและย้ายไปยัง F-Droid เนื่องจากนโยบาย Google Play ที่เพิ่งเปิดตัวและพฤติกรรมของ Android SDK การเปลี่ยนแปลง

ตั้งแต่วันที่ 2 พฤศจิกายน 2020 การอัปเดตทั้งหมดของแอปที่มีอยู่ใน Google Play จะเป็นดังนี้ จำเป็นต้องกำหนดเป้าหมาย Android 10 (API ระดับ 29) หรือสูงกว่า. แม้ว่าเงื่อนไขเบื้องต้นอาจดูเหมือนเป็นข่าวดีที่มีการมองโลกในแง่ดีมากมาย แต่สิ่งต่าง ๆ ไม่ได้เป็นไปอย่างนั้นสำหรับ Termux ในโพสต์บน GitHub Wiki ของโครงการ Leonid Pliushch AKA

เซฟเฟอร์ซึ่งเป็นผู้มีส่วนสำคัญในซอฟต์แวร์ อธิบาย ปัญหาความเข้ากันได้ของแอปกับระดับ API ข้างต้น Google ได้บังคับใช้ คุณสมบัติความปลอดภัย W xor X ตั้งแต่ Android 10 ซึ่งเป็นสาเหตุที่ทำให้แอปที่ไม่น่าเชื่อถือตั้งค่า targetSdkVersion ถึง "29" หรือสูงกว่า ไม่สามารถเรียกใช้ได้ exec() บนไฟล์ภายในโฮมไดเร็กตอรี่ของแอพ. เช่นก ออกแบบ อย่างมีประสิทธิภาพ ทำลาย Termux เมื่อคอมไพล์กับ API ระดับ 29 เนื่องจากแพ็คเกจทั้งหมดมีไฟล์ปฏิบัติการ

คุณยังคงค้นหาแอปได้ใน Play Store แต่เวอร์ชันนี้ล้าสมัยไปอย่างมาก เนื่องจากเวอร์ชัน Play Store ไม่รองรับ Android 10 (หรือสูงกว่า) อย่างเป็นทางการ จึงจะไม่เริ่มเชลล์บนอุปกรณ์บางตัว เว้นแต่ว่า SELinux จะถูกตั้งค่าเป็นโหมดอนุญาต ซึ่งเป็นที่ยอมรับว่ามี ผลกระทบด้านความปลอดภัยที่ร้ายแรง. นอกจากนี้ผู้ใช้ที่ไม่ได้รูท ไม่สามารถเข้าถึงได้ /proc/net, ซึ่งหมายความว่า netstat และยูทิลิตี้อื่น ๆ ที่ใช้ข้อมูลจากอินเทอร์เฟซนี้จะไม่ทำงานอีกต่อไป

เหตุใดการเปลี่ยนแปลงทั้งหมดนี้จึงไม่ส่งผลกระทบต่อ F-Droid build ของ Termux นั่นเป็นเพราะว่าไม่มีข้อกำหนดเวอร์ชัน Android SDK ที่เข้มงวดในขณะที่ส่งแพ็คเกจเพื่อรวมไว้ในที่เก็บ F-Droid บิลด์ที่กำหนดเป้าหมายไปที่ Android เวอร์ชันเก่ากว่า 10 จะไม่ได้รับผลกระทบในส่วนนี้ ซึ่งต่างจากเวอร์ชัน Play Store ดังนั้นทีมจึงสามารถอัปเดตต่อไปได้โดยไม่ต้องกังวลว่าจะสูญเสียฟังก์ชันการทำงานหลัก

[appbox fdroid "com.termux"]

ขณะนี้ทีมพัฒนา Termux ต้องการให้ผู้ใช้ใน Play Store ย้ายไปยังตัวแปร F-Droid เพื่อรับการอัปเดตต่อไป กระบวนการโยกย้าย ไม่ได้ตรงไปตรงมาอย่างแน่นอนเนื่องจากบิลด์ได้รับการลงนามด้วยชุดคีย์อื่น ดังนั้นจึงไม่สามารถดำเนินการอัปเดตได้อย่างราบรื่น ตามที่คาดไว้ การเปลี่ยนแปลงเหล่านี้จะสร้างอุปสรรคสำหรับผู้ใช้ทั่วไปที่ต้องการใช้ช่องทางการอัปเดต Play Store เพื่อความสะดวก


หากคุณมีอินสแตนซ์ Termux บนอุปกรณ์ Android ของคุณอยู่แล้ว โปรดแจ้งให้เราทราบว่าคุณใช้งานอินสแตนซ์ดังกล่าวเพื่ออะไรด้านล่างนี้!