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

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

قراءة لمدة 4 دقائق
Daniel Galpin
مناصر للمطوّرين

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

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

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

Android17_Timeline_01_V02.png

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

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

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

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

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

unnamed (2).png
مهمة LeakCanary في أداة Profiler في "استوديو Android"

لمساعدتك في العثور على تسربات الذاكرة، يضيف "استوديو Android" (إصدار Panda) عملية دمج LeakCanary مباشرةً في أداة Profiler في "استوديو 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، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نستمع إليك.

كتبه:

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