Android 17 به نسخه بتای ۴ رسیده است، آخرین نسخه بتای برنامهریزیشده این چرخه انتشار که نقطه عطفی مهم برای سازگاری برنامه و پایداری پلاتفرم است. چه درحال تنظیم دقیق تجربه کاربری برنامهتان باشید، چه از ارائه یکپارچه لبهبهلبه مطمئن شوید، یا از جدیدترین «میاناهای برنامهسازی کاربردی» استفاده کنید، نسخه «بتا ۴» محیط تقریباً نهایی موردنیاز برای آزمایش را دراختیارتان قرار میدهد.
برنامهها، کتابخانهها، ابزارها، و موتورهای بازیتان را آماده کنید!
اگر کیت توسعه نرمافزار Android، کتابخانه، ابزار، یا موتور بازی توسعه میدهید، بسیار مهم است که ازهمینحالا بهروزرسانیهای لازم را آماده کنید تا از مسدود شدن توسعهدهندگان برنامه و بازی پاییندست خود بهدلیل مشکلات سازگاری جلوگیری کنید و به آنها اجازه دهید ویژگیهای جدیدترین کیت توسعه نرمافزار را هدفیابی کنند. لطفاً اگر برای پشتیبانی کامل از Android 17 به بهروزرسانی نیاز است، به توسعهدهندگان پاییندست خود اطلاع دهید.
آزمایش شامل نصب برنامه تولید یا برنامه آزمایشی است که از کتابخانه یا موتور شما بااستفاده از Google Play یا روشهای دیگر در دستگاه یا شبیهسازی که Android 17 Beta 4 را اجرا میکند استفاده میکند. همه جریانهای برنامه را بررسی کنید و بهدنبال مشکلات عملکردی یا میانای کاربر بگردید. هر نسخه Android شامل تغییرات پلاتفرمی است که حریم خصوصی، امنیت، و تجربه کاربری کلی را بهبود میبخشد؛ تغییرات رفتاری تأثیرگذار بر برنامه را برای برنامههایی که در و هدف Android 17 اجرا میشوند مرور کنید تا بر آزمایشهایتان تمرکز کنید، ازجمله موارد زیر:
- قابلیت تغییر اندازه در صفحهنمایشهای بزرگ: پساز هدفیابی Android 17، دیگر نمیتوانید از حفظ محدودیتهای جهت، قابلیت تغییر اندازه، و نسبت ابعادی در صفحهنمایشهای بزرگ انصراف دهید.
- بارگیری پویای کد: اگر برنامه شما Android 17 یا نسخههای بالاتر را هدفیابی میکند، محافظت «بارگیری پویای کد» (DCL) ایمنتر که در Android 14 معرفی شده است برای فایلهای DEX و JAR اکنون به کتابخانههای بومی نیز تعمیم داده میشود. همه فایلهای بومی بارگذاریشده بااستفاده از System.load() باید بهعنوان فقطخواندنی علامتگذاری شوند. درغیراینصورت، سیستم خطای UnsatisfiedLinkError را ایجاد میکند.
- فعال کردن CT بهطور پیشفرض: شفافسازی گواهینامه (CT) بهطور پیشفرض فعال است. (در Android 16، «شفافیت کنترل» دردسترس است اما برنامهها باید موافقت خود را اعلام کنند.)
- محافظتهای شبکه محلی: برنامههایی که Android 17 یا بالاتر را هدفیابی میکنند، بهطور پیشفرض دسترسی به شبکه محلیشان مسدود است. درصورت امکان، از انتخابگرهای حفظ حریم خصوصی استفاده کنید و برای دسترسی گسترده و دائمی، از اجازه جدید ACCESS_LOCAL_NETWORK استفاده کنید.
- سختسازی صدای پسزمینه: از Android 17، چارچوب صوتی محدودیتهایی را بر تعاملات صوتی پسزمینه ازجمله بازپخش صدا، درخواستهای اولویت صوتی، و میاناهای برنامهسازی کاربردی تغییر صدا اعمال میکند. براساس بازخوردهای شما، از زمان نسخه بتای ۲ تغییراتی ایجاد کردهایم، ازجمله دروازه targetSDK درحین اجرای FGS و معاف کردن صدای زنگ هشدار. جزئیات کامل در راهنمایی بهروزشده دردسترس است.
محدودیتهای حافظه برنامه
Android برای ایجاد محیطی پایدارتر و قطعیتر برای برنامههای شما و کاربران Android، محدودیتهای حافظه برنامه را براساس کل RAM دستگاه معرفی میکند. در Android 17، محدودیتها بهصورت محافظهکارانه تنظیم میشوند تا خطوط پایه سیستم ایجاد شود و نشتهای شدید حافظه و دیگر موارد دور از انتظار قبلاز اینکه باعث بیثباتی در کل سیستم شوند و درنتیجه آن رابط کاربری دچار لکنت شود، باتری سریعتر خالی شود، و برنامهها بسته شوند، هدفگیری شوند. اگرچه پیشبینی میکنیم این تغییر تأثیر حداقلی بر اکثریت قریب به اتفاق جلسات برنامه داشته باشد، توصیه میکنیم روالهای مطلوب حافظه زیر را دنبال کنید، ازجمله ایجاد خط پایه برای حافظه.
در پیادهسازی کنونی، اگر برنامه شما تحت تأثیر قرار گرفته باشد، getDescription در ApplicationExitInfo حاوی رشته «MemoryLimiter» خواهد بود. همچنین میتوانید از نمایهسازی براساس محرک با TRIGGER_TYPE_ANOMALY برای دریافت پشتههای حافظه استفاده کنید که وقتی به حد حافظه میرسید جمعآوری میشوند.
برای کمک به شما در یافتن نشت حافظه، Android Studio Panda ادغام LeakCanary را مستقیماً در Android Studio Profiler بهعنوان یک تکلیف اختصاصی اضافه میکند که در IDE زمینهایسازی شده است و بهطور کامل با کد منبع شما ادغام شده است.
ردپای حافظه سبکتر مستقیماً به عملکرد روانتر، عمر باتری طولانیتر، و تجربه ممتاز در همه عوامل شکلدهنده منجر میشود. بیایید با هم آیندهای سریعتر و مطمئنتر برای بومسازگان Android بسازیم!
راهاندازی نمایهسازی برای ناهنجاریهای برنامه
Android سرویس تشخیص ناهنجاری دروندستگاهی را معرفی میکند که رفتارهای پرمصرف منابع و پسرفتهای سازگاری احتمالی را پایش میکند. این سرویس که با ProfilingManager یکپارچه شده است به برنامه شما امکان میدهد آرتیفکتهای نمایهسازی را که با رویدادهای خاص شناساییشده توسط سیستم راهاندازی شدهاند دریافت کند.
از راهانداز TRIGGER_TYPE_ANOMALY برای شناسایی مشکلات عملکرد سیستم مثل فراخوانیهای بیشازحد 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 را ازطریق «میاناهای برنامهسازی کاربردی معماری رمزنگاری جاوا» استاندارد نمایان میکند: 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
برای دریافت این بهروزرسانی و بهروزرسانیهای آتی «نسخه بتای Android» ازطریق شبکه، میتوانید هر دستگاه Pixel پشتیبانیشدهای را ثبت کنید. اگر دستگاه Pixel ندارید، میتوانید از تصاویر سیستم ۶۴ بیتی با «شبیهساز Android» در Android Studio استفاده کنید.
اگر درحالحاضر در برنامه «بتای Android» شرکت میکنید، بهروزرسانی ازطریق شبکه برای «نسخه بتای ۴» به شما پیشنهاد خواهد شد.
به گزارش مشکلات و ارسال درخواستهای ویژگی در صفحه بازخورد ادامه دهید. هرچه زودتر بازخوردتان را دریافت کنیم، بیشتر میتوانیم آن را در کارمان روی نسخه نهایی بگنجانیم.
برای داشتن بهترین تجربه توسعه با Android 17، توصیه میکنیم از جدیدترین پیشنمایش Android Studio (Panda) استفاده کنید. پساز راهاندازی، در اینجا برخیاز کارهایی که باید انجام دهید آورده شده است:
- با کیت توسعه نرمافزار جدید کامپایل کنید، در محیطهای CI آزمایش کنید، و مشکلات را در ردیاب ما در صفحه بازخورد گزارش کنید.
- برنامه کنونیتان را ازنظر سازگاری آزمایش کنید، ببینید آیا برنامهتان تحتتأثیر تغییرات Android 17 قرار میگیرد یا نه، و برنامهتان را در دستگاه یا شبیهسازی که Android 17 را اجرا میکند نصب کنید و آن را بهطور گسترده آزمایش کنید.
ما بهطور منظم تصاویر سیستم پیشنمایش/بتا و «کیت توسعه نرمافزار» را درطول چرخه انتشار Android 17 بهروزرسانی خواهیم کرد. پساز نصب ساخت بتا، بهطور خودکار بهروزرسانیهای آتی را ازطریق شبکه برای همه پیشنمایشها و نسخههای بتای بعدی دریافت خواهید کرد.
برای کسب اطلاعات کامل، به سایت توسعهدهنده Android 17 مراجعه کنید.
به مکالمه بپیوندید
بازخورد شما همچنان ارزشمندترین دارایی ما است. چه کاربر پیشگام در کانال Canary باشید و چه توسعهدهنده برنامهای که در Beta 4 آزمایش میکند، به پیوستن به انجمنهای ما و ارسال بازخورد فکر کنید. گوش میکنیم.
-
اخبار محصولبهعنوان توسعهدهندگان Android، وقتی نوبت به انتخاب عاملها، مدلهای زبانی بزرگ، ابزارها، و میاناهای خط فرمان (CLI) میرسد که برای توسعه نرمافزار استفاده میکنید، گزینههای زیادی دارید. هدف ما این است که به شما کمک کنیم برنامههای Android زیبا و با کیفیت بالا بسازید، مهم نیست که چگونه میخواهید بسازید.
Simona Milanovic • ۴ دقیقه خواندن -
اخبار محصولدر Google Play، ما بهطور مداوم پلاتفرم اشتراک خود را گسترش میدهیم تا به شما کمک کنیم رشد کنید، با مدلهای کسبوکار جدید سازگار شوید، و دقیقاً در جایی که کاربران شما هستند با آنها ارتباط برقرار کنید.
Sheenam Mittal • ۴ دقیقه خواندن -
اخبار محصولسال گذشته، Android Studio برای هر مدل هوش مصنوعی باز شد. امروز، با معرفی پشتیبانی از انتخاب شما برای عاملهای کدنویسی، گام بعدی را برمیداریم.
Matthew Warner • ۳ دقیقه خواندن
هر هفته جدیدترین اطلاعات آماری توسعه Android را در صندوق ورودیتان دریافت کنید.