أخبار المنتجات

الإصدار التجريبي الرابع من Android 17

قراءة لمدة 4 دقائق
Daniel Galpin
مسؤول علاقات المطوّرين

لقد وصل Android 17 إلى الإصدار التجريبي 4، وهو آخر إصدار تجريبي مُجدوَل في دورة الإصدار هذه، ويمثّل إنجازًا مهمًا لتحقيق توافق التطبيقات وثبات النظام الأساسي. سواء كنت تعمل على تحسين تجربة المستخدم في تطبيقك أو ضمان عرض سلس من الحافة إلى الحافة أو الاستفادة من أحدث واجهات برمجة التطبيقات، يوفّر لك الإصدار التجريبي 4 البيئة شبه النهائية التي تحتاج إليها لإجراء الاختبارات. 

جهِّز تطبيقاتك ومكتباتك وأدواتك ومحرّكات الألعاب

إذا كنت تطوّر حزمة تطوير برامج (SDK) أو مكتبة أو أداة أو محرّك ألعاب لنظام Android، من المهم إعداد أي تحديثات ضرورية الآن لمنع مطوّري التطبيقات والألعاب من التوقف بسبب مشاكل التوافق والسماح لهم باستهداف أحدث ميزات حزمة تطوير البرامج (SDK). يُرجى إعلام المطوّرين الذين يستخدمون منتجاتك إذا كانت هناك حاجة إلى تحديثات لدعم Android 17 بشكل كامل.

Android17_Timeline_01_V02.png

يتضمّن الاختبار تثبيت تطبيقك الذي تم إطلاقه أو تطبيق اختبار يستخدم مكتبتك أو محرّكك على جهاز أو محاكي يعمل بالإصدار التجريبي 4 من Android 17 باستخدام Google Play أو وسائل أخرى. يُرجى الانتقال إلى جميع مسارات تطبيقك والبحث عن المشاكل الوظيفية أو مشاكل واجهة المستخدم. يحتوي كل إصدار من Android على تغييرات في النظام الأساسي تعمل على تحسين الخصوصية والأمان وتجربة المستخدم بشكل عام. يُرجى مراجعة التغييرات في سلوك التطبيقات التي تؤثر في التطبيقات التي تعمل على Android 17 و تستهدفه للتركيز على الاختبار، بما في ذلك ما يلي:

  • تغيير الحجم على الشاشات الكبيرة: بعد استهداف Android 17، لن يعود بإمكانك إلغاء الاشتراك في الحفاظ على قيود الاتجاه وتغيير الحجم ونسبة العرض إلى الارتفاع على الشاشات الكبيرة.
  • تحميل الرموز البرمجية الديناميكية: إذا كان تطبيقك يستهدف Android 17 أو إصدارًا أعلى، فإنّ الحماية من تحميل الرموز البرمجية الديناميكية (DCL) الأكثر أمانًا التي تم طرحها في Android 14 لملفات DEX وJAR تشمل الآن المكتبات الأصلية. يجب وضع علامة على جميع الملفات الأصلية التي يتم تحميلها باستخدام System.load() كملفات للقراءة فقط. وإلا، سيظهر الخطأ UnsatisfiedLinkError.
  • تفعيل ميزة "الشفافية في الشهادات" (CT) تلقائيًا: الشفافية في الشهادات (CT) مفعّلة تلقائيًا. (في Android 16، تتوفّر ميزة "الشفافية في الشهادات" (CT)، ولكن كان على التطبيقات تفعيلها.)
  • حماية الشبكة المحلية: يتم حظر الوصول إلى الشبكة المحلية تلقائيًا للتطبيقات التي تستهدف Android 17 أو إصدارًا أعلى. يُرجى التبديل إلى استخدام أدوات اختيار تحافظ على الخصوصية إن أمكن، واستخدام الإذن الجديد ACCESS_LOCAL_NETWORK للوصول الواسع النطاق والمستمر.
  • تعزيز أمان الصوت في الخلفية: بدءًا من Android 17، يفرض إطار عمل الصوت قيودًا على التفاعلات الصوتية في الخلفية، بما في ذلك تشغيل الصوت وطلبات أولويّة الصوت وواجهات برمجة التطبيقات لتغيير مستوى الصوت. استنادًا إلى ملاحظاتك، أجرينا بعض التغييرات منذ الإصدار التجريبي 2، بما في ذلك فرض استخدام خدمة تعمل في المقدّمة (FGS) أثناء الاستخدام وإعفاء صوت المنبّه. تتوفر التفاصيل الكاملة في الإرشادات المعدلة.

الحدود القصوى لذاكرة التطبيق

يطرح Android حدودًا قصوى لذاكرة التطبيق استنادًا إلى إجمالي ذاكرة الوصول العشوائي (RAM) في الجهاز لإنشاء بيئة أكثر ثباتًا وقابلية للتحديد لتطبيقاتك ومستخدمي Android. في Android 17، يتم ضبط الحدود بشكل متحفّظ لإنشاء خطوط أساس للنظام، واستهداف تسرّبات الذاكرة الشديدة والقيم الشاذّة الأخرى قبل أن تؤدي إلى عدم ثبات على مستوى النظام، ما يؤدي إلى تقطّع واجهة المستخدم وزيادة استنزاف البطارية وإيقاف التطبيقات. على الرغم من أنّنا نتوقّع تأثيرًا ضئيلاً على الغالبية العظمى من جلسات التطبيقات، ننصحك باتّباع أفضل الممارسات التالية المتعلقة بالذاكرة، بما في ذلك وضع خط أساس للذاكرة.

في التنفيذ الحالي، سيحتوي getDescription في ApplicationExitInfo على السلسلة "MemoryLimiter" إذا تأثر تطبيقك. يمكنك أيضًا استخدام تحديد الملفات الشخصية المستند إلى المشغّلات مع TRIGGER_TYPE_ANOMALY للحصول على نُسخ ذاكرة يتم جمعها عند بلوغ الحد الأقصى للذاكرة.

unnamed (2).png
مهمة LeakCanary في أداة تحديد الملفات الشخصية في "استوديو Android"

لمساعدتك في العثور على تسربات الذاكرة، يضيف "استوديو Android Panda" عملية تكامل LeakCanary مباشرةً في أداة تحديد الملفات الشخصية في "استوديو Android" كمهمة مخصّصة، يتم وضعها في سياق بيئة التطوير المتكاملة (IDE) ودمجها بالكامل مع رمزك المصدر.

يؤدي استخدام مساحة أقل من الذاكرة مباشرةً إلى أداء أكثر سلاسة وعمر بطارية أطول وتجربة ممتازة على جميع أشكال الأجهزة. لنعمل معًا على بناء مستقبل أسرع وأكثر موثوقية لمنظومة Android المتكاملة.

مشغّلات تحديد الملفات الشخصية لرصد المخالفات في التطبيقات

يطرح Android خدمة لرصد المخالفات على الجهاز فقط تراقب السلوكيات التي تستهلك الكثير من الموارد وحالات التراجع المحتملة في التوافق. تسمح هذه الخدمة، المدمجة مع ProfilingManager، لتطبيقك بتلقّي بيانات تحديد الملفات الشخصية التي يتم تشغيلها من خلال أحداث معيّنة يرصدها النظام.

استخدِم المشغّل TRIGGER_TYPE_ANOMALY لرصد مشاكل أداء النظام، مثل عدد كبير من طلبات الربط وعدد كبير من استخدام الذاكرة. عندما يخالف أحد التطبيقات الحدود القصوى للذاكرة التي يحدّدها نظام التشغيل، يسمح مشغّل المخالفات للمطوّرين بتلقّي لقطات لأجزاء من الذاكرة خاصة بالتطبيق للمساعدة في تحديد مشاكل الذاكرة وحلّها. بالإضافة إلى ذلك، بالنسبة إلى عدد كبير من طلبات الربط غير المرغوب فيها، يوفّر مشغّل المخالفات ملفًا شخصيًا لعينات المكدس في معاملات الربط.

يحدث معاودة الاتصال بواجهة برمجة التطبيقات هذه قبل أي عمليات فرض يفرضها النظام. على سبيل المثال، يمكن أن يساعد ذلك المطوّرين في جمع بيانات تصحيح الأخطاء قبل أن يوقف النظام التطبيق بسبب تجاوز الحدود القصوى للذاكرة. لفهم كيفية استخدام المشغّل، يُرجى الاطّلاع على مستنداتنا حول تحديد الملفات الشخصية المستند إلى المشغّلات.

    val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<ProfilingTrigger>()  
    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 
    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)
}

التشفير ما بعد الكم (PQC) في ملف تخزين مفاتيح Android

أضاف ملف تخزين مفاتيح Android إمكانية استخدام خوارزمية التوقيع الرقمي المستندة إلى الشبكة المعيارية (ML-DSA) التي تم توحيدها من قِبل المعهد الوطني للمقاييس والتكنولوجيا (NIST). على الأجهزة المتوافقة، يمكنك إنشاء مفاتيح ML-DSA واستخدامها لإنشاء توقيعات آمنة ضد الهجمات الكمية، وذلك بالكامل في الأجهزة الآمنة للجهاز. يعرض ملف تخزين مفاتيح Android متغيرَي الخوارزمية ML-DSA-65 وML-DSA-87 من خلال واجهات برمجة التطبيقات القياسية لبنية التشفير في Java: KeyPairGenerator و KeyFactory و Signature. لمزيد من التفاصيل، يُرجى الاطّلاع على مستندات المطوّرين.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        ML-DSA-65, "AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                my-key-alias,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

البدء في استخدام Android 17

يمكنك تسجيل أي جهاز Pixel متوافق للحصول على هذا التحديث والتحديثات المستقبلية من الإصدار التجريبي من Android عبر اتصال لاسلكي. إذا لم يكن لديك جهاز Pixel، يمكنك استخدام صور النظام 64 بت مع "محاكي Android" في "استوديو Android".

إذا كنت حاليًا في برنامج الإصدار التجريبي من Android، سيتم عرض تحديث عبر اتصال لاسلكي إلى الإصدار التجريبي 4.

يُرجى مواصلة الإبلاغ عن المشاكل وإرسال طلبات الميزات على صفحة الملاحظات. كلما تلقّينا ملاحظاتك في وقت مبكر، زادت إمكانية تضمينها في عملنا على الإصدار النهائي.

للحصول على أفضل تجربة تطوير باستخدام Android 17، ننصحك باستخدام أحدث إصدار مبكر حصري من استوديو Android (Panda). بعد الإعداد، إليك بعض الإجراءات التي يجب اتّخاذها:

  • يمكنك إجراء عملية التجميع باستخدام حزمة تطوير البرامج (SDK) الجديدة، وإجراء الاختبار في بيئات التكامل المستمر، والإبلاغ عن أي مشاكل في أداة التتبّع على صفحة الملاحظات.
  • اختبِر تطبيقك الحالي للتأكّد من توافقه، واعرف ما إذا كان تطبيقك متأثرًا بالتغييرات في Android 17، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام Android 17 واختبِره على نطاق واسع.

سنُجري بانتظام تعديلات على صور النظام للإصدار المبكر الحصري/الإصدار التجريبي وحزمة تطوير البرامج (SDK) طوال دورة إصدار Android 17. بعد تثبيت إصدار تجريبي، ستتلقّى تلقائيًا التحديثات المستقبلية عبر اتصال لاسلكي لجميع الإصدارات المبكرة الحصرية والإصدارات التجريبية اللاحقة.

للحصول على معلومات كاملة، يُرجى الانتقال إلى موقع مطوّري Android 17 الإلكتروني.

الانضمام إلى المحادثة

تظل ملاحظاتك أهم ما لدينا. سواء كنت مستخدمًا مبكرًا حصريًا على قناة Canary أو مطوّر تطبيقات تجري اختبارات على الإصدار التجريبي 4، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نستمع إليك.

المؤلّف:

متابعة القراءة