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

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

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

يطرح 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 لرصد مشاكل أداء النظام، مثل عدد كبير من طلبات Binder واستخدام الذاكرة بشكل مفرط. عندما يخالف أحد التطبيقات الحدود القصوى للذاكرة التي يحدّدها نظام التشغيل، يسمح مشغّل المخالفات للمطوّرين بتلقّي نُسخ ذاكرة خاصة بالتطبيق للمساعدة في تحديد مشاكل الذاكرة وحلّها. بالإضافة إلى ذلك، بالنسبة إلى عدد كبير من طلبات 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

أضاف ملف تخزين مفاتيح 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، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نستمع إليك.

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