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

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

يستغرق الاطّلاع على المقال 4 دقائق
عرض الملف الشخصي لـ "دانيال غالبين"
Daniel Galpin مسؤول علاقات المطوّرين

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

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

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

Android17_Timeline_01_V02.png

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

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

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

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

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

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

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

يؤدي استخدام مساحة أقل من الذاكرة إلى تحسين الأداء بشكل مباشر وإطالة عمر البطارية وتوفير تجربة ممتازة على جميع أشكال الأجهزة. لنعمل معًا على بناء مستقبل أسرع وأكثر موثوقية لمنظومة 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 Keystore

تمت إضافة دعم خوارزمية التوقيع الرقمي المعتمدة على الشبكة الوحدة (ML-DSA) الموحّدة وفقًا لمعايير المعهد الوطني للمعايير والتكنولوجيا (NIST) إلى "ملف تخزين مفاتيح Android". على الأجهزة المتوافقة، يمكنك إنشاء مفاتيح ML-DSA واستخدامها لإنتاج توقيعات آمنة من الناحية الكمية، وذلك بالكامل في أجهزة الأمان المضمّنة في الجهاز. يتيح Android Keystore استخدام صيغ خوارزمية 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، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام التشغيل Android 17 واختبِره بشكلٍ شامل.

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

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

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

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

المؤلف:
متابعة القراءة