اخبار محصول

چهارمین نسخه بتای اندروید ۱۷ منتشر شد

مطالعه ۴ دقیقه‌ای
Daniel Galpin
وکیل توسعه‌دهنده

اندروید ۱۷ به نسخه بتا ۴ رسیده است، آخرین نسخه بتای برنامه‌ریزی‌شده از این چرخه انتشار، که نقطه عطفی حیاتی برای سازگاری برنامه و پایداری پلتفرم است. چه در حال تنظیم دقیق تجربه کاربری برنامه خود باشید، چه در حال اطمینان از رندرینگ روان و بدون مشکل، یا استفاده از جدیدترین APIها، بتا ۴ محیط تقریباً نهایی مورد نیاز برای آزمایش را فراهم می‌کند.

برنامه‌ها، کتابخانه‌ها، ابزارها و موتورهای بازی خود را آماده کنید!

اگر شما یک SDK، کتابخانه، ابزار یا موتور بازی اندروید توسعه می‌دهید، بسیار مهم است که اکنون هرگونه به‌روزرسانی لازم را آماده کنید تا از مسدود شدن توسعه‌دهندگان برنامه و بازی پایین‌دستی خود به دلیل مشکلات سازگاری جلوگیری کنید و به آنها اجازه دهید تا از جدیدترین ویژگی‌های SDK استفاده کنند. لطفاً در صورت نیاز به به‌روزرسانی برای پشتیبانی کامل از اندروید ۱۷، به توسعه‌دهندگان پایین‌دستی خود اطلاع دهید.

Android17_Timeline_01_V02.png

تست شامل نصب برنامه تولیدی یا یک برنامه آزمایشی است که از کتابخانه یا موتور شما با استفاده از Google Play یا روش‌های دیگر روی دستگاه یا شبیه‌ساز دارای Android 17 Beta 4 استفاده می‌کند. تمام جریان‌های برنامه خود را بررسی کنید و به دنبال مشکلات عملکردی یا رابط کاربری باشید. هر نسخه از اندروید شامل تغییرات پلتفرمی است که حریم خصوصی، امنیت و تجربه کلی کاربر را بهبود می‌بخشد. برای تمرکز تست خود، تغییرات رفتاری برنامه را که بر روی برنامه‌هایی که روی Android 17 اجرا می‌شوند و هدف قرار می‌گیرند، تأثیر می‌گذارند، بررسی کنید، از جمله موارد زیر:

  • قابلیت تغییر اندازه در صفحه نمایش‌های بزرگ: وقتی اندروید ۱۷ را هدف قرار دهید، دیگر نمی‌توانید از حفظ محدودیت‌های جهت‌گیری، تغییر اندازه و نسبت ابعاد در صفحه نمایش‌های بزرگ صرف نظر کنید.
  • بارگذاری پویای کد: اگر برنامه شما اندروید ۱۷ یا بالاتر را هدف قرار می‌دهد، محافظت Safer Dynamic Code Loading (DCL) که در اندروید ۱۴ برای فایل‌های DEX و JAR معرفی شد، اکنون به کتابخانه‌های بومی نیز گسترش می‌یابد. همه فایل‌های بومی که با استفاده از System.load() بارگذاری می‌شوند باید به عنوان فقط خواندنی علامت‌گذاری شوند. در غیر این صورت، سیستم خطای UnsatisfiedLinkError را نمایش می‌دهد.
  • فعال کردن CT به صورت پیش‌فرض: شفافیت گواهی (CT) به صورت پیش‌فرض فعال است. (در اندروید ۱۶، CT در دسترس است اما برنامه‌ها باید آن را انتخاب می‌کردند .)
  • محافظت از شبکه محلی: برنامه‌هایی که اندروید ۱۷ یا بالاتر را هدف قرار می‌دهند، به طور پیش‌فرض دسترسی به شبکه محلی را مسدود کرده‌اند . در صورت امکان، به استفاده از انتخابگرهای حفظ حریم خصوصی روی بیاورید و از مجوز جدید ACCESS_LOCAL_NETWORK برای دسترسی گسترده و مداوم استفاده کنید.
  • مقاوم‌سازی صدای پس‌زمینه: از اندروید ۱۷، چارچوب صوتی محدودیت‌هایی را بر تعاملات صوتی پس‌زمینه از جمله پخش صدا، درخواست‌های فوکوس صوتی و APIهای تغییر صدا اعمال می‌کند. بر اساس بازخورد شما، ما از زمان بتا ۲ تغییراتی ایجاد کرده‌ایم، از جمله اعمال FGS در حین استفاده از targetSDK و معافیت صدای آلارم. جزئیات کامل در راهنمای به‌روز شده موجود است.

محدودیت‌های حافظه برنامه

اندروید محدودیت‌های حافظه برنامه را بر اساس کل رم دستگاه معرفی می‌کند تا محیطی پایدارتر و قطعی‌تر برای برنامه‌ها و کاربران اندروید ایجاد کند. در اندروید ۱۷، محدودیت‌ها به صورت محافظه‌کارانه تنظیم می‌شوند تا خطوط پایه سیستم ایجاد شوند و نشت شدید حافظه و سایر موارد پرت را قبل از اینکه باعث بی‌ثباتی در کل سیستم شوند و منجر به لکنت رابط کاربری، تخلیه بیشتر باتری و از کار افتادن برنامه‌ها شوند، هدف قرار دهند. در حالی که پیش‌بینی می‌کنیم تأثیر حداقلی بر اکثر جلسات برنامه داشته باشد، بهترین شیوه‌های حافظه زیر را توصیه می‌کنیم، از جمله ایجاد یک خط پایه برای حافظه.

در پیاده‌سازی فعلی، اگر برنامه شما تحت تأثیر قرار گرفته باشد، getDescription در ApplicationExitInfo شامل رشته "MemoryLimiter" خواهد بود. همچنین می‌توانید از پروفایلینگ مبتنی بر trigger با TRIGGER_TYPE_ANOMALY برای دریافت heap dumpهایی که هنگام رسیدن به محدودیت حافظه جمع‌آوری می‌شوند، استفاده کنید.

بی نام (2).png
وظیفه LeakCanary در پروفایلر اندروید استودیو

برای کمک به شما در یافتن نشتی‌های حافظه، اندروید استودیو پاندا ادغام LeakCanary را مستقیماً در Android Studio Profiler به عنوان یک وظیفه اختصاصی اضافه می‌کند، که در IDE زمینه‌سازی شده و کاملاً با کد منبع شما یکپارچه شده است.

فضای حافظه کمتر، مستقیماً به عملکرد روان‌تر، عمر باتری طولانی‌تر و تجربه‌ای ممتاز در تمام فرم فاکتورها منجر می‌شود. بیایید با هم آینده‌ای سریع‌تر و مطمئن‌تر برای اکوسیستم اندروید بسازیم!

پروفایل کردن محرک‌ها برای ناهنجاری‌های برنامه

اندروید یک سرویس تشخیص ناهنجاری روی دستگاه معرفی می‌کند که رفتارهای فشرده از منابع و رگرسیون‌های سازگاری بالقوه را رصد می‌کند. این سرویس که با ProfilingManager ادغام شده است، به برنامه شما اجازه می‌دهد تا مصنوعات پروفایلینگ ایجاد شده توسط رویدادهای خاص شناسایی شده توسط سیستم را دریافت کند.

از تریگر TRIGGER_TYPE_ANOMALY برای تشخیص مشکلات عملکرد سیستم مانند فراخوانی‌های بیش از حد binder و استفاده بیش از حد از حافظه استفاده کنید. هنگامی که یک برنامه محدودیت‌های حافظه تعریف شده توسط سیستم عامل را نقض می‌کند، تریگر ناهنجاری به توسعه‌دهندگان اجازه می‌دهد تا هیپ دامپ‌های مخصوص برنامه را دریافت کنند تا به شناسایی و رفع مشکلات حافظه کمک کنند. علاوه بر این، برای هرزنامه‌های بیش از حد binder، تریگر ناهنجاری یک پروفایل نمونه‌گیری پشته در تراکنش‌های binder ارائه می‌دهد.

این فراخوانی API قبل از هرگونه اجبار اعمال شده توسط سیستم رخ می‌دهد. به عنوان مثال، می‌تواند به توسعه‌دهندگان کمک کند تا داده‌های اشکال‌زدایی را قبل از اینکه برنامه توسط سیستم به دلیل تجاوز از محدودیت‌های حافظه خاتمه یابد، جمع‌آوری کنند. برای درک نحوه استفاده از trigger، مستندات ما در مورد پروفایلینگ مبتنی بر trigger را بررسی کنید.

    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) در اندروید کی‌استور

اندروید کی‌استور پشتیبانی از ML-DSA (الگوریتم امضای دیجیتال مبتنی بر ماژول-شبکه) استاندارد شده توسط NIST را اضافه کرد. در دستگاه‌های پشتیبانی‌شده، می‌توانید کلیدهای ML-DSA را تولید کرده و از آنها برای تولید امضاهای کوانتومی ایمن، کاملاً در سخت‌افزار امن دستگاه، استفاده کنید. اندروید کی‌استور انواع الگوریتم‌های ML-DSA-65 و ML-DSA-87 را از طریق APIهای استاندارد معماری رمزنگاری جاوا: 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();

شروع کار با اندروید ۱۷

شما می‌توانید هر دستگاه پیکسل پشتیبانی‌شده‌ای را برای دریافت این به‌روزرسانی و به‌روزرسانی‌های بعدی اندروید بتا به‌صورت بی‌سیم ثبت‌نام کنید . اگر دستگاه پیکسل ندارید، می‌توانید از ایمیج‌های سیستم ۶۴ بیتی با شبیه‌ساز اندروید در اندروید استودیو استفاده کنید .

اگر در حال حاضر در برنامه بتای اندروید هستید، به‌روزرسانی به نسخه بتا ۴ به صورت بی‌سیم (OTA) به شما ارائه خواهد شد.

همچنان به گزارش مشکلات و ارسال درخواست‌های مربوط به ویژگی‌ها در صفحه بازخورد ادامه دهید. هر چه زودتر بازخورد شما را دریافت کنیم، می‌توانیم موارد بیشتری را در کار خود برای انتشار نهایی بگنجانیم.

برای بهترین تجربه توسعه با اندروید ۱۷، توصیه می‌کنیم از آخرین پیش‌نمایش اندروید استودیو (Panda) استفاده کنید. پس از راه‌اندازی، در اینجا برخی از کارهایی که باید انجام دهید، آورده شده است:

  • با استفاده از SDK جدید کامپایل کنید، در محیط‌های CI آزمایش کنید و هرگونه مشکل را در ردیاب ما در صفحه بازخورد گزارش دهید.
  • برنامه فعلی خود را از نظر سازگاری آزمایش کنید، بفهمید که آیا برنامه شما تحت تأثیر تغییرات اندروید ۱۷ قرار می‌گیرد یا خیر، و برنامه خود را روی یک دستگاه یا شبیه‌ساز که اندروید ۱۷ را اجرا می‌کند نصب کنید و آن را به طور گسترده آزمایش کنید.

ما تصاویر سیستم پیش‌نمایش/بتا و SDK را به طور منظم در طول چرخه انتشار اندروید ۱۷ به‌روزرسانی خواهیم کرد. پس از نصب نسخه بتا، به طور خودکار به‌روزرسانی‌های آینده را برای همه پیش‌نمایش‌ها و بتاهای بعدی از طریق بی‌سیم دریافت خواهید کرد.

برای اطلاعات کامل، بهسایت توسعه‌دهندگان اندروید ۱۷ مراجعه کنید.

به گفتگو بپیوندید

بازخورد شما همچنان ارزشمندترین دارایی ما است. چه از اولین کاربران کانال Canary باشید و چه از توسعه‌دهندگانی که در حال آزمایش نسخه بتا ۴ هستید ، به انجمن‌های ما بپیوندید و بازخورد خود را ثبت کنید. ما به نظرات شما گوش می‌دهیم.

    نوشته شده توسط:

    ادامه مطلب