وصل Android 17 إلى الإصدار التجريبي 4، وهو آخر إصدار تجريبي مجدوَل في دورة الإصدار هذه، وهو إنجاز مهم لتوافق التطبيقات واستقرار المنصة. سواء كنت تعمل على تحسين تجربة المستخدم في تطبيقك، أو ضمان عرض المحتوى من الحافة إلى الحافة بسلاسة، أو الاستفادة من أحدث واجهات برمجة التطبيقات، يوفّر لك الإصدار التجريبي 4 بيئة شبه نهائية تحتاج إليها لإجراء الاختبارات.
جهِّز تطبيقاتك ومكتباتك وأدواتك ومحركات الألعاب لديك.
إذا كنت تطوّر حزمة تطوير برامج (SDK) أو مكتبة أو أداة أو محرّك ألعاب لنظام التشغيل Android، من المهم إعداد أي تحديثات ضرورية الآن لمنع حظر مطوّري التطبيقات والألعاب التابعة لك بسبب مشاكل التوافق والسماح لهم باستهداف أحدث ميزات حزمة SDK. يُرجى إعلام المطوّرين التابعين لك إذا كانت هناك حاجة إلى إجراء تحديثات لتوفير الدعم الكامل لنظام التشغيل Android 17.
يتضمن الاختبار تثبيت تطبيقك في مرحلة الإنتاج أو تطبيق تجريبي يستخدم مكتبتك أو محرّكك باستخدام Google Play أو وسائل أخرى على جهاز أو محاكي يعمل بالإصدار التجريبي 4 من Android 17. تصفَّح جميع مسارات تطبيقك وابحث عن أي مشاكل في الوظائف أو واجهة المستخدم. يتضمّن كل إصدار من Android تغييرات في النظام الأساسي لتحسين الخصوصية والأمان وتجربة المستخدم بشكل عام. لذا، يُرجى مراجعة التغييرات في السلوك التي تؤثر في التطبيقات التي تعمل على وتستهدف الإصدار 17 من Android لتركيز الاختبارات، بما في ذلك ما يلي:
- إمكانية تغيير الحجم على الشاشات الكبيرة: عند استهداف الإصدار 17 من Android، لن يعود بإمكانك إيقاف قيود الحفاظ على اتجاه الشاشة وإمكانية تغيير الحجم ونسبة العرض إلى الارتفاع على الشاشات الكبيرة.
- تحميل الرموز البرمجية الديناميكية: إذا كان تطبيقك يستهدف الإصدار 17 من Android أو إصدارًا أحدث، فإنّ ميزة "تحميل الرموز البرمجية الديناميكية الأكثر أمانًا" (DCL) التي تم طرحها في الإصدار 14 من Android لملفات DEX وJAR تمتد الآن لتشمل المكتبات المجمَّعة من رموز برمجية أصلية. يجب وضع علامة "للقراءة فقط" على جميع الملفات الأصلية التي يتم تحميلها باستخدام System.load(). وإلا، سيظهر الخطأ UnsatisfiedLinkError.
- تفعيل شفافية الشهادة تلقائيًا: يتم تفعيل شفافية الشهادة (CT) تلقائيًا. (في Android 16، تتوفّر ميزة "الترجمة الفورية"، ولكن كان على التطبيقات الموافقة.)
- الحماية على الشبكة المحلية: يتم حظر وصول التطبيقات التي تستهدف الإصدار 17 من Android أو الإصدارات الأحدث إلى الشبكة المحلية تلقائيًا. ننصحك بالتبديل إلى استخدام أدوات الاختيار التي تحافظ على الخصوصية إن أمكن، واستخدام إذن ACCESS_LOCAL_NETWORK الجديد للوصول الواسع النطاق والدائم.
- تعزيز أمان الصوت في الخلفية: بدءًا من الإصدار 17 من Android، يفرض إطار عمل الصوت قيودًا على تفاعلات الصوت في الخلفية، بما في ذلك تشغيل الصوت وطلبات التركيز على الصوت وواجهات برمجة التطبيقات لتغيير مستوى الصوت. استنادًا إلى ملاحظاتك، أجرينا بعض التغييرات منذ الإصدار التجريبي 2، بما في ذلك حظر targetSDK أثناء استخدام FGS وإعفاء صوت المنبّه. تتوفّر التفاصيل الكاملة في الإرشادات المعدَّلة.
الحدود القصوى لذاكرة التطبيقات
يقدّم Android حدودًا للذاكرة المستخدَمة من التطبيقات استنادًا إلى إجمالي مساحة ذاكرة الوصول العشوائي (RAM) في الجهاز لإنشاء بيئة أكثر استقرارًا وحتمية لتطبيقاتك ومستخدمي Android. في Android 17، يتم ضبط الحدود بشكل متحفظ لوضع معايير أساسية للنظام، واستهداف حالات تسرُّب الذاكرة الشديدة وغيرها من الحالات الشاذة قبل أن تؤدي إلى عدم استقرار النظام بالكامل، ما يؤدي إلى توقُّف واجهة المستخدم واستنزاف البطارية بشكل أكبر وإغلاق التطبيقات. على الرغم من أنّنا نتوقّع أن يكون التأثير ضئيلاً في الغالبية العظمى من جلسات التطبيق، ننصحك باتّباع أفضل الممارسات التالية المتعلّقة بالذاكرة، بما في ذلك وضع حدّ أدنى للذاكرة.
في التنفيذ الحالي، ستحتوي الدالة getDescription في ApplicationExitInfo على السلسلة "MemoryLimiter" إذا تأثّر تطبيقك. يمكنك أيضًا استخدام التحليل المستند إلى المشغّلات مع TRIGGER_TYPE_ANOMALY للحصول على لقطات لأجزاء من الذاكرة يتم جمعها عند بلوغ الحدّ الأقصى للذاكرة.
لمساعدتك في العثور على تسرّبات الذاكرة، يضيف إصدار Android Studio Panda ميزة دمج LeakCanary مباشرةً في "محلّل استوديو Android" كمهمة مخصّصة، يتم وضعها في سياق بيئة التطوير المتكاملة (IDE) ودمجها بالكامل مع الرمز المصدر.
ويؤدي تقليل استهلاك الذاكرة مباشرةً إلى أداء أكثر سلاسة وعمر بطارية أطول وتجربة متميزة على جميع أشكال الأجهزة. لنتعاون معًا لبناء مستقبل أسرع وأكثر موثوقية لمنظومة 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
تمت إضافة خوارزمية ML-DSA (خوارزمية التوقيع الرقمي المعتمدة على الشبكة الوحدة) المتوافقة مع معايير المعهد الوطني للمعايير والتكنولوجيا (NIST) إلى ملف تخزين مفاتيح Android. على الأجهزة المتوافقة، يمكنك إنشاء مفاتيح ML-DSA واستخدامها لإنشاء توقيعات آمنة من الحوسبة الكمية، وذلك بالكامل في الأجهزة الآمنة. يعرض Android Keystore خوارزميتَي ML-DSA-65 وML-DSA-87 من خلال واجهات برمجة التطبيقات العادية في Java Cryptographic Architecture: 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 Emulator في استوديو Android.
إذا كنت مشتركًا حاليًا في برنامج Android Beta، سيتم تقديم تحديث عبر شبكة غير سلكيّة إلى الإصدار التجريبي 4.
يُرجى مواصلة الإبلاغ عن المشاكل وإرسال طلبات الميزات في صفحة الملاحظات. كلما تلقّينا ملاحظاتك في وقت مبكر، زادت إمكانية تضمينها في عملنا على الإصدار النهائي.
للحصول على أفضل تجربة تطوير مع Android 17، ننصحك باستخدام أحدث نسخة حصرية من استوديو Android (Panda). بعد إعداد حسابك، إليك بعض الإجراءات التي يجب اتّخاذها:
- يمكنك تجميع حزمة تطوير البرامج (SDK) الجديدة واختبارها في بيئات CI والإبلاغ عن أي مشاكل في أداة التتبُّع على صفحة الملاحظات.
- اختبِر تطبيقك الحالي للتأكّد من توافقه مع الإصدار الجديد، وتعرَّف على ما إذا كان تطبيقك سيتأثر بالتغييرات في Android 17، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام التشغيل Android 17 واختبِره بشكل شامل.
سنعدّل صور نظام الإصدار التجريبي/النسخة الحصرية وحزمة تطوير البرامج (SDK) بانتظام طوال دورة إصدار Android 17. بعد تثبيت إصدار تجريبي، ستتلقّى تلقائيًا التحديثات المستقبلية عبر شبكة غير سلكيّة لجميع النُسخ الحصرية والإصدارات التجريبية اللاحقة.
للحصول على معلومات كاملة، يُرجى الانتقال إلى الموقع الإلكتروني لمطوّري تطبيقات Android 17.
الانضمام إلى المحادثة
ملاحظاتك هي أهم ما لدينا. سواء كنت من المستخدمين في مرحلة مبكرة على قناة Canary أو من مطوّري التطبيقات الذين يختبرون الإصدار التجريبي 4، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نسمعكم.
-
أخبار المنتجاتبما أنّ Unity تشغّل أكثر من نصف جميع الألعاب على الأجهزة الجوّالة في جميع أنحاء العالم، فإنّ الانطباعات الأولى مهمة. بالنسبة إلى مطوّري الألعاب، تُعدّ تجربة الإعداد السلسة والموثوقة للاعبين ضرورية لتعزيز معدّل الاحتفاظ باللاعبين من اليوم الأول وزيادة تفاعلهم على المدى الطويل.
Michelle Martin • مدّة القراءة: دقيقة واحدة -
أخبار المنتجاتمن خلال تطوير التطبيقات على Android XR، يمكنك تلبية احتياجات المستخدمين في أي وقت، سواء كانوا يبحثون عن تجربة غامرة بالكامل في المنزل أو تجربة سريعة أثناء التنقل، وذلك من خلال مجموعة واسعة من التطبيقات المكانية. في مؤتمر Android Dev Summit، احتفلنا بإنجاز رائع من خلال إطلاق نظارة XREAL AURA.
Amy Zeppenfeld, Vinny DaSilva • مدّة القراءة: 3 دقائق -
أخبار المنتجاتفي عصر الذكاء الاصطناعي، لم يعُد المستخدمون يكتفون بالنقر على التطبيقات، بل يعبّرون عن أهداف عالية المستوى ويتوقّعون من وكلاء الذكاء الاصطناعي، مثل Gemini، إكمال مهام متعددة الخطوات، أحيانًا على تطبيقات متعددة على أجهزتهم.
Jingyu Shi • مدّة القراءة: 4 دقائق
يمكنك الحصول على آخر الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.