Android 17 به نسخه بتای ۴ رسیده است که آخرین نسخه بتای زمانبندیشده این چرخه انتشار است و نقطه عطفی حیاتی برای سازگاری برنامه و پایداری پلاتفرم محسوب میشود. چه درحال تنظیم دقیق تجربه کاربری برنامهتان باشید، چه درحال اطمینان از هموار بودن پرداز از حاشیه به حاشیه، یا استفاده از جدیدترین میاناهای برنامهسازی کاربردی، نسخه Beta 4 محیطی نزدیک به نهایی را که برای آزمایش نیاز دارید فراهم میکند.
برنامهها، کتابخانهها، ابزارها، و موتورهای بازیتان را آماده کنید!
اگر کیت توسعه نرمافزار Android، کتابخانه، ابزار، یا موتور بازی توسعه میدهید، بسیار مهم است که بهروزرسانیهای لازم را همین حالا آماده کنید تا توسعهدهندگان برنامه و بازی پاییندست شما بهدلیل مشکلات سازگاری مسدود نشوند و بتوانند جدیدترین ویژگیهای کیت توسعه نرمافزار را هدف قرار دهند. لطفاً اگر برای پشتیبانی کامل از Android 17 به بهروزرسانی نیاز است، به توسعهدهندگان پاییندستی خود اطلاع دهید.
آزمایش شامل نصب برنامه تولیدی شما یا برنامه آزمایشی است که از کتابخانه یا موتور شما بااستفاده از Google Play یا روشهای دیگر در دستگاه یا شبیهساز دارای Android 17 Beta 4 استفاده میکند. همه جریانهای برنامهتان را بررسی کنید و بهدنبال مشکلات عملکردی یا میانای کاربر بگردید. هر نسخه از Android حاوی تغییراتی در پلاتفرم است که حریم خصوصی، امنیت، و تجربه کلی کاربر را بهبود میبخشد؛ برای متمرکز کردن آزمایشهایتان، تغییرات رفتاری تأثیرگذار بر برنامه را برای برنامههایی که در Android 17 اجرا میشوند و 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، چارچوب صوتی محدودیتهایی را بر تعاملات صدای پسزمینه ازجمله بازپخش صدا، درخواستهای اولویت صوتی، و میاناهای برنامهسازی کاربردی تغییر میزان صدا اعمال میکند. براساس بازخورد شما، از نسخه بتا ۲ تغییراتی ایجاد کردهایم، ازجمله محدود کردن targetSDK درحین استفاده از اجرای FGS و معاف کردن صدای زنگ هشدار. جزئیات کامل در راهنمای بهروزشده دردسترس است.
حدود حافظه برنامه
Android درحال معرفی محدودیتهای حافظه برنامه براساس کل RAM دستگاه است تا محیطی پایدارتر و قطعیتر برای برنامههای شما و کاربران Android ایجاد کند. در Android 17، محدودیتها بهصورت محافظهکارانه تنظیم شدهاند تا خطوط مبنای سیستم را ایجاد کنند و نشتهای شدید حافظه و سایر موارد پرت را قبلاز اینکه باعث ناپایداری در سراسر سیستم شوند، هدف قرار دهند. این ناپایداریها میتوانند منجر به لکنت رابط کاربری، تخلیه بیشتر باتری، و بسته شدن برنامهها شوند. درحالیکه پیشبینی میکنیم این تغییر تأثیر بسیار کمی بر اکثر جلسههای برنامه داشته باشد، توصیه میکنیم روالهای مطلوب حافظه زیر را دنبال کنید، ازجمله ایجاد یک خط مبنا برای حافظه.
در پیادهسازی فعلی، اگر برنامهتان تحتتأثیر قرار گرفته باشد، getDescription در ApplicationExitInfo حاوی رشته «MemoryLimiter» خواهد بود. همچنین میتوانید از نمایهسازی مبتنی بر راهانداز با TRIGGER_TYPE_ANOMALY استفاده کنید تا رونوشتهای پشتهای را که هنگام رسیدن به حد حافظه جمعآوری شدهاند دریافت کنید.
برای کمک به شما در یافتن نشت حافظه، Android Studio Panda ادغام LeakCanary را مستقیماً در «نمایهساز Android Studio» بهعنوان یک تکلیف اختصاصی اضافه میکند که در 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 Keystore
Android Keystore پشتیبانی از استاندارد NIST ML-DSA (الگوریتم امضای دیجیتال مبتنی بر شبکه ماژول) را اضافه کرد. در دستگاههای پشتیبانیشده، میتوانید کلیدهای 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 ندارید، میتوانید از تصاویر سیستم ۶۴ بیتی با «شبیهساز Android» در Android Studio استفاده کنید.
اگر درحالحاضر در برنامه Android Beta هستید، بهروزرسانی بیسیم به نسخه بتای ۴ به شما پیشنهاد خواهد شد.
به گزارش کردن مشکلات و ارسال درخواست ویژگی در صفحه بازخورد ادامه دهید. هرچه زودتر بازخوردتان را دریافت کنیم، بیشتر میتوانیم آن را در کارمان روی نسخه نهایی لحاظ کنیم.
برای داشتن بهترین تجربه توسعه با Android 17، توصیه میکنیم از جدیدترین پیشنمایش Android Studio (Panda) استفاده کنید. پساز راهاندازی، در اینجا چند کار آورده شده است که باید انجام دهید:
- با کیت توسعه نرمافزار جدید کامپایل کنید، در محیطهای CI آزمایش کنید، و هرگونه مشکل را در ردیاب ما در صفحه بازخورد گزارش کنید.
- برنامه فعلیتان را ازنظر سازگاری آزمایش کنید، ببینید آیا برنامهتان تحتتأثیر تغییرات Android 17 قرار میگیرد یا نه، و برنامهتان را در دستگاه یا شبیهسازی که Android 17 را اجرا میکند نصب کنید و آن را بهطور گسترده آزمایش کنید.
تصاویر سیستم پیشنمایش/بتا و کیت توسعه نرمافزار را بهطور منظم درطول چرخه انتشار Android 17 بهروزرسانی خواهیم کرد. پساز نصب ساخت بتا، بهطور خودکار بهروزرسانیهای آتی را بهصورت بیسیم برای همه پیشنمایشها و نسخههای بتای بعدی دریافت خواهید کرد.
برای اطلاعات کامل، به سایت توسعهدهنده Android 17 مراجعه کنید.
پیوستن به مکالمه
بازخورد شما همچنان ارزشمندترین دارایی ما است. چه پذیرنده آغازین در کانال Canary باشید یا توسعهدهنده نرمافزار که درحال آزمایش نسخه Beta 4 است، به انجمنهای ما بپیوندید و بازخورد ارسال کنید. به علاقه موسیقیایی شما توجه میکنیم.
-
اخبار محصولاز غوطهوری کامل در خانه تا تجربههای اجمالی درحال حرکت، ساختن روی Android XR به شما امکان میدهد در هر لحظه در سراسر طیف برنامههای فضایی با کاربران ملاقات کنید. در «نشست توسعهدهندگان Android»، با راهاندازی XREAL AURA به نقطه عطف هیجانانگیزی رسیدیم.
Amy Zeppenfeld, Vinny DaSilva • ۳ دقیقه خواندن -
اخبار محصولدر عصر هوش مصنوعی، کاربران دیگر فقط در برنامهها ضربه نمیزنند، بلکه اهداف سطح بالا را بیان میکنند و انتظار دارند عاملهای هوش مصنوعی مانند Gemini گردشهای کاری چندمرحلهای را، گاهی در چندین برنامه در دستگاههایشان، تکمیل کنند.
Jingyu Shi • زمان خواندن: ۴ دقیقه -
اخبار محصولامروز در «نشست توسعهدهندگان Android»، دردسترس بودن گسترده بسیاری از ابزارها و میاناهای برنامهسازی کاربردی را اعلام میکنیم که برای رفع اصطکاک روزمره و ارائه انعطافپذیری بیشتر به شما برای ساختن برنامههای Android عالی طراحی شدهاند.
Matthew McCullough • زمان خواندن: ۴ دقیقه
جدیدترین اطلاعات آماری توسعه Android را بهصورت هفتگی در صندوق ورودیتان دریافت کنید.