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

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

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

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

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

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

Android17_Timeline_01_V02.png

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

  • تغيير الحجم على الشاشات الكبيرة: بعد استهداف الإصدار 17 من نظام التشغيل Android، لن يعود بإمكانك إيقاف إمكانية الحفاظ على قيود الاتجاه وتغيير الحجم ونسبة العرض إلى الارتفاع على الشاشات الكبيرة.
  • تحميل الرموز البرمجية الديناميكية: إذا كان تطبيقك يستهدف الإصدار 17 من نظام التشغيل Android أو إصدارًا أحدث، فإنّ ميزة الحماية التي تم طرحها في الإصدار 14 من نظام التشغيل Android لتحميل الرموز البرمجية الديناميكية (DCL) بشكل أكثر أمانًا لملفات 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"

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

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

علامات تشغيل إنشاء الملفات الشخصية لرصد القيم الشاذة في التطبيقات

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

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

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

    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

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

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

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

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

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

تأليف:

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