وصل Android 17 إلى الإصدار التجريبي 4، وهو آخر إصدار تجريبي مُجدوَل في دورة الإصدار هذه، ما يمثّل إنجازًا مهمًا لتحقيق توافق التطبيقات واستقرار النظام الأساسي. سواء كنت تعمل على تحسين تجربة المستخدم في تطبيقك أو ضمان عرض المحتوى بسلاسة من الحافة إلى الحافة أو الاستفادة من أحدث واجهات برمجة التطبيقات، يوفّر لك الإصدار التجريبي 4 البيئة شبه النهائية التي تحتاج إليها لإجراء الاختبارات.
جهِّز تطبيقاتك ومكتباتك وأدواتك ومحرّكات الألعاب.
إذا كنت تطوّر حزمة تطوير برامج (SDK) أو مكتبة أو أداة أو محرّك ألعاب لنظام Android، من المهم إعداد أي تحديثات ضرورية الآن لمنع مطوّري التطبيقات والألعاب من التوقف بسبب مشاكل التوافق والسماح لهم باستهداف أحدث ميزات حزمة تطوير البرامج (SDK). يُرجى إعلام المطوّرين الذين يستخدمون منتجاتك إذا كانت هناك حاجة إلى تحديثات لدعم Android 17 بشكل كامل.
يتضمّن الاختبار تثبيت تطبيقك الذي تستخدمه في الإنتاج أو تطبيق اختبار يستخدِم مكتبتك أو محرّكك على جهاز أو محاكي يعمل بالإصدار التجريبي 4 من Android 17 باستخدام "متجر Google Play" أو وسائل أخرى. يُرجى تنفيذ جميع مسارات تطبيقك والبحث عن المشاكل الوظيفية أو مشاكل واجهة المستخدم. يحتوي كل إصدار من Android على تغييرات في النظام الأساسي تهدف إلى تحسين الخصوصية والأمان وتجربة المستخدم بشكل عام. يُرجى مراجعة التغييرات في سلوك التطبيقات التي تؤثر في التطبيقات التي تعمل على Android 17 و تستهدفه للتركيز على الاختبار، بما في ذلك ما يلي:
- إمكانية تغيير الحجم على الشاشات الكبيرة: بعد استهداف Android 17، لن يعود بإمكانك إيقاف الحفاظ على اتجاه الشاشة وإمكانية تغيير الحجم وقيود نسبة العرض إلى الارتفاع على الشاشات الكبيرة.
- تحميل الرموز البرمجية ديناميكيًا: إذا كان تطبيقك يستهدف Android 17 أو إصدارًا أعلى، فإنّ الحماية من تحميل الرموز البرمجية ديناميكيًا بشكل أكثر أمانًا التي تم طرحها في Android 14 لملفات DEX وJAR تشمل الآن المكتبات الأصلية. يجب وضع علامة على جميع الملفات الأصلية التي يتم تحميلها باستخدام System.load() كملفات للقراءة فقط. وإلا، سيظهر الخطأ UnsatisfiedLinkError.
- تفعيل ميزة "الشفافية في الشهادات" (CT) تلقائيًا: الشفافية في الشهادات (CT) مفعّلة تلقائيًا. (في Android 16، تتوفّر ميزة "الشفافية في الشهادات"، ولكن كان على التطبيقات تفعيلها.)
- حماية الشبكة المحلية: يتم حظر الوصول إلى الشبكة المحلية تلقائيًا للتطبيقات التي تستهدف Android 17 أو إصدارًا أعلى. يُرجى التبديل إلى استخدام أدوات اختيار تحافظ على الخصوصية إن أمكن، واستخدام الإذن الجديد ACCESS_LOCAL_NETWORK للوصول المستمر على نطاق واسع.
- تعزيز أمان الصوت في الخلفية: بدءًا من Android 17، يفرض إطار عمل الصوت قيودًا على التفاعلات الصوتية في الخلفية، بما في ذلك تشغيل الصوت وطلبات التركيز على الصوت وواجهات برمجة التطبيقات لتغيير مستوى الصوت. استنادًا إلى ملاحظاتك، أجرينا بعض التغييرات منذ الإصدار التجريبي 2، بما في ذلك إيقاف الخدمات التي تعمل في المقدّمة (FGS) أثناء الاستخدام استنادًا إلى targetSDK وإعفاء صوت المنبّه. تتوفر التفاصيل الكاملة في الإرشادات المعدلة.
الحدود القصوى لذاكرة التطبيقات
يقدّم Android حدودًا للذاكرة المستخدَمة من التطبيقات استنادًا إلى إجمالي مساحة ذاكرة الوصول العشوائي (RAM) في الجهاز لإنشاء بيئة أكثر استقرارًا وقابلية للتنبؤ لتطبيقاتك ومستخدمي Android. في Android 17، يتم ضبط الحدود بشكل متحفّظ لإنشاء خطوط أساس للنظام، واستهداف تسربات الذاكرة الشديدة والقيم المتطرفة الأخرى قبل أن تؤدي إلى عدم استقرار على مستوى النظام، ما يؤدي إلى تقطُّع واجهة المستخدم وزيادة استهلاك البطارية وإيقاف التطبيقات. على الرغم من أنّنا نتوقّع تأثيرًا ضئيلاً على الغالبية العظمى من جلسات التطبيقات، ننصحك باتّباع أفضل الممارسات التالية المتعلّقة بالذاكرة، بما في ذلك وضع خط أساس للذاكرة.
في التنفيذ الحالي، getDescription في ApplicationExitInfo سيحتوي على السلسلة "MemoryLimiter" إذا تأثّر تطبيقك. يمكنك أيضًا استخدام التتبُّع المستند إلى المشغّلات مع TRIGGER_TYPE_ANOMALY للحصول على نُسخ ذاكرة يتم جمعها عند بلوغ الحدّ الأقصى للذاكرة.
لمساعدتك في العثور على تسربات الذاكرة، يضيف "استوديو 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) }
التشفير ما بعد الكم في ملف تخزين مفاتيح 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، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نستمع إليك.
-
أخبار المنتجاتنحتفل اليوم رسميًا بمرور خمسة أعوام على إطلاق Jetpack Compose 1.0. من الإصدار 1.0، الذي تم الإعلان عنه في 28 يوليو 2021، إلى أحدث إصداراتنا 1.11، شهدنا تطورًا كبيرًا في واجهات برمجة التطبيقات على مر السنين، ونحن نأخذ لحظة للاحتفال.
Rebecca Franks, Nick Butcher, Loryn Hairston • قراءة لمدة 5 دقائق -
أخبار المنتجاتأصبح الإصدار 2 من "استوديو Android" إصدار Quail مستقرًا ومتاحًا لك لاستخدامه في الإنتاج، ما يغيّر بيئة التطوير المتكاملة (IDE) من خلال سير عمل الوكيل المتزامن، وتتبُّع تسربات الذاكرة المدمَج أصلاً، وإصلاح الأعطال المستند إلى السياق.
Amman Asfaw • قراءة لمدة 3 دقائق -
أخبار المنتجاتفي شهر مارس، طرحنا Android Bench، وهي لوحة صدارة للنماذج اللغوية الكبيرة لمهام تطوير Android في العالم الحقيقي. منذ ذلك الحين، حسّنّا المقياس استنادًا إلى ملاحظاتك، بما في ذلك تقييم النماذج المفتوحة المصدر وإضافة بُعدَي التكلفة والكفاءة إلى لوحة الصدارة.
Zoe Lopez-Latorre • قراءة لمدة 3 دقائق
يمكنك تلقّي أحدث الإحصاءات حول تطوير Android أسبوعيًا في بريدك الوارد.