خبر

  • تک بورد - Google Play APK ها را برای «بسته نرم افزاری برنامه Android» بیشتر کنترل شده توسط Google تخلیه می کند

    Google Play APK ها را برای «بسته نرم افزاری برنامه Android» بیشتر کنترل شده توسط Google تخلیه می کند
    24 روز و 2 ساعت قبل

    از ماه اوت ، برنامه های جدید باید کلیدهای امضای خود را به Google تحویل دهند.
    قالب فایل برنامه Android ، APK (Android PacKage) ، از زمان راه اندازی Android در سال 2008 با ما بوده است. این قابل حمل است ، ایجاد آن از آنجا که فقط یک فایل zip است و به طور گسترده ای توسط ابزارهای مختلف پشتیبانی می شود ، ایجاد می شود. ویندوز 11 حتی به عنوان بخشی از سازگاری آندروید آینده از این قالب پشتیبانی می کند.

    Android App Bundles در سال 2018 به اکوسیستم Android معرفی شدند و من در بررسی Android 9 قسمت بزرگی درباره آنها نوشتم. زمینه اصلی فروش این است که دستگاه های اندرویدی دارای ترکیبات مختلف سخت افزاری و زبانی مختلفی هستند که برنامه ها باید از آنها پشتیبانی کنند و ارسال همه این کد به هر دستگاه جداگانه باعث اتلاف فضا می شود. اندروید از بیش از 150 زبان ، چهار معماری CPU مختلف (ARMv7 ، ARMv8 ، x86 و x86_64) و چندین سطل با وضوح صفحه پشتیبانی می کند. جمع کردن همه اینها در یک APK معمول است (اگرچه گاهی اوقات توسط معماری CPU تقسیم می شوند) ، اما انجام این کار به این معنی است که هر دستگاه کد و منابع زیادی را بدست می آورد که برای ترکیب خاص CPU ، locale و صفحه مربوط نیست. اندازه. گرچه این اتلاف فضای ذخیره سازی برای تلفن های پیشرفته با اتصالات اینترنتی خوب اهمیت چندانی ندارد ، اما برای دستگاه های ارزان قیمت و محدود به فضای ذخیره سازی و در مکان هایی که دسترسی به اینترنت سریع امکان پذیر نیست ، می تواند مشکل بزرگی باشد.

    راه حل Google Android App Bundle است ، که توزیع برنامه Android را از یک APK یکپارچه و جهانی به مجموعه ای از "APK های تقسیم شده" تبدیل می کند که به طور خاص توسط فروشگاه Google Play برای هر دستگاه جداگانه انجام می شود. همانطور که از نامش پیداست ، این "APK های تقسیم" کل برنامه ها نیستند. آنها قسمتهایی از یک برنامه هستند که هر کدام یک منطقه تغییر خاص را هدف قرار می دهند و با هم ترکیب می شوند و برنامه نهایی را تشکیل می دهند. با برنامه های بسته نرم افزاری ، اگر دستگاهی با وضوح بالا و ARMv8 با محلی تنظیم شده به زبان انگلیسی با برنامه بسته نرم افزاری داشته باشید ، فروشگاه Play مجموعه ای از APK های تقسیم شده را که فقط از آن نوع دستگاه پشتیبانی می کنند بیرون می کشد. اگر دوست شما دارای تلفن تفکیک پذیری پایین ، ARM v7 برای انگلیسی و هندی باشد ، آنها مجموعه دیگری از APK را دریافت می کنند که دقیقاً از آن پشتیبانی می کند. Google Play می تواند APK های سفارشی را برای هر کاربر ایجاد کند ، فقط کدهای مورد نیاز را به آنها می دهد و نه چیزی بیشتر. Google می گوید نتیجه برنامه هایی است که 15 درصد کوچکتر از APK جهانی هستند.

    تبلیغات

    توسعه دهندگان با استفاده از Bundles App حتی می توانند ویژگی های یک برنامه را مدوله کنند. این اجازه می دهد تا ویژگی ها فقط به دستگاه های پشتیبانی کننده تحویل داده شوند ، یا فقط در بارگیری اولیه وجود ندارند و فقط به عنوان بارگیری درخواستی در دسترس کاربران هستند. اگر کاربری تنظیمات محلی را تغییر دهد ، همان ویژگی درخواستی شروع می شود.

    در حالی که سیستم App Bundle ترجیح می دهد APK های جدید و جدید تقسیم شده را ارسال کند ، اما نیازی نیست. از آنجا که می تواند برنامه ها را به هر شکلی که می خواهد قالب بندی کند ، می توان یک APK یکپارچه سازگار با عقب نیز تولید کرد. این باعث می شود که این رویکرد با همه تلفن های Android سازگار باشد ، مهم نیست که دستگاه فعلی شما چگونه مورد غفلت واقع شده باشد.

    بسته های برنامه درمقابل اکوسیستم غیر Google Play

    مانند بسیاری از ویژگی های جدید Android ، تغییر از APK ها به Android App Bundles منجر به مجموعه ای پیچیده تر و پیچیده تر برای ارائه برنامه ها می شود. اما همچنین به گوگل کنترل بسیار بیشتری بر اکوسیستم اندروید می دهد. بسته های برنامه Android برای مفید بودن باید توسط رایانه ابری فروشگاه برنامه پردازش شوند. در حالی که App Bundles یک قالب متن باز است و Google دارای یک برنامه متن باز "bundletool" است که می تواند آنها را کامپایل کند ، برخی از شرکت های دیگر باید زیرساخت های خود را بسازند ، هزینه های سرور را برای میزبانی از آن در ابر پرداخت کنند و ترسناک را مدیریت کنند الزامات امضای برنامه (بعداً بیشتر در مورد آن بعداً).

    بسته نرم افزارهای منبع باز بودن به ابزارهای توسعه امکان پشتیبانی راحت تر از آنها را می دهد. اما یک فروشگاه برنامه جایگزین باید آنقدر کار و مسئولیت را به عهده بگیرد که شک دارد این قالب به غیر از بسته برنامه Google Play تبدیل شود.

    یکی از مهمترین عناصر امنیتی APK امضای برنامه است. این یک گواهینامه دیجیتال متعلق به توسعه دهنده برنامه است که تأیید می کند برنامه را ساخته است. امضای برنامه در اولین نصب مهم نیست ، اما برای هر نقطه پس از آن ، امضاها باید مطابقت داشته باشند. این بدان معناست که فقط صاحب گواهی - توسعه دهنده اصلی برنامه - قادر است آن برنامه را به روز کند. هیچ شخص ثالث تصادفی نمی تواند APK به نام "Google-Pay.apk" ایجاد کند که برنامه واقعی Google Pay را جایگزین کند و تمام اطلاعات بانکی شما را بدزدد.

    خواندن بیشتر Google Play برنامه ویدئویی را به صورت استاندارد ممنوع می کند " .ass "زیرنویس supportApp Bundles APK ها را بیرون می کشد. این بدان معنی است که کل سیستم ساخت برنامه باید در فضای ابری میزبانی شود. این همچنین به معنای میزبانی از هر کلید امضای برنامه توسعه دهنده فردی در فضای ابری است ، و به طور موثر مسئولیت یک برنامه را از توسعه دهنده به Google منتقل می کند. Google این "Google Play App Signing" را می نامد ، و شرکت به طور جدی وعده می دهد که شما هنوز مالک برنامه هستید و همچنان به آن دسترسی خواهید داشت. اما این تنظیم کمی شبیه انتقال سند به خانه شما به شخص ثالث است.

    کنترل Google بر فروشگاه Play به این معنی است که این خیابان قبلاً مالک خیابان و بزرگراه بود ، اما اکنون حتی کنترل بیشتری بر برنامه شما دارد. اگر باندهای جدید Google Play از رباتهای خاتمه دهنده خودکار حساب توسعه دهنده شما را برای برخی تخلفات قابل درک هدف قرار دهند ، حتی کمتر از این استفاده خواهید کرد.

    تبلیغات

    Android App Bundles مقدار زیادی از قدرت و مسئولیت را در اختیار شما قرار می دهد صاحب فروشگاه برنامه در صورت به خطر افتادن زیرساخت های فروشگاه برنامه ، شخص ثالث می تواند به کلیدهای توسعه دهنده دسترسی پیدا کند و به روزرسانی های مخرب را آغاز کند. اگر به مالک فروشگاه برنامه اعتماد ندارید ، خیلی بد است. اکنون آنها کلید امضای را دارند و اگر بخواهند بدون اطلاع شما می توانند برنامه شما را تغییر دهند. یک دولت می تواند مالک فروشگاه برنامه را مجبور به تغییر برنامه شما کند. در مورد گوگل ، این شرکت احتمالاً نسبت به اکثر برنامه نویسان برنامه ، امنیت ذخیره سازی بهتری را انجام می دهد. اما باز هم تصور اینکه فروشگاه های غیر Google از این امر استفاده کنند دشوار است.

    Google برای کاهش نگرانی در این باره امتیازاتی داده است. توسعه دهندگان می توانند یک نسخه محلی از کلید امضا را که در Google بارگذاری می کنند نگه دارند و به آنها امکان می دهد به روزرسانی های معتبری را که می توانند در بالای نسخه های Google Play نصب شوند ، ایجاد کنند. برنامه نویسان همچنین می توانند "APK توزیع" امضا شده را از Google Play Developer Console بارگیری کنند که APK های جهانی قدیمی هستند و می توانند در سایر فروشگاه های برنامه بارگذاری شوند. اگر نگران هستید که Google بدون رضایت شما برنامه خود را تغییر دهد ، Google می گوید یک ویژگی جدید "شفافیت کد" اختیاری به توسعه دهندگان اجازه می دهد تا بررسی کنند که هش ها در کد برنامه بارگیری شده با آنچه بارگذاری کرده اند مطابقت دارد.

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

    برای Google ، Android App Bundles یک معامله بزرگ است. در Google I / O 2018 ، این شرکت گفت که ، اگر هر برنامه به بسته های نرم افزاری تغییر کند ، گوگل روزانه 10 پتابایت پهنای باند صرفه جویی می کند ، که یک عدد باورنکردنی است که نشان می دهد مقیاس فروشگاه Play در چه سطحی کار می کند. اگرچه برای آن دسته از ما که به صورتحساب پهنای باند گوگل اهمیت نمی دهیم ، آیا صرفاً 15 درصد صرفه جویی در فضا ارزش دارد که کل اکوسیستم APK را هزینه کرده و حتی قدرت بیشتری را به فروشگاه Play و سرورهای Google منتقل کنید؟

    تصویر لیست شده توسط Google





خبرهای دیگر از اسباب