Google متعهد به پیشبرد برابری نژادی برای جوامع سیاه است. ببینید چگونه.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

مدیریت نرم افزار Android

پروژه منبع باز Android (AOSP) یک پشته نرم افزاری کامل را برای حمل و نقل توسط OEMs و سایر پیاده سازهای دستگاه حفظ کرده و بر روی سخت افزار خاص خود اجرا می کند. برای حفظ کیفیت اندروید ، Google در مهندسین تمام وقت ، مدیران محصول ، طراحان رابط کاربری ، آزمایش کنندگان تضمین کیفیت و سایر نقش های دیگر مورد نیاز برای ورود دستگاه های مدرن به بازار همکاری کرده است.

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

مدیریت کد AOSP

نمودار زیر مفاهیم مدیریت و انتشار کد AOSP را نشان می دهد.

نمودار کدگذاری
شکل 1. کد و نسخه های AOSP
  1. در هر لحظه ، آخرین نسخه از پلتفرم اندرویدی موجود است. این به طور معمول به صورت یک شاخه در درخت می شود.
  2. سازندگان دستگاه و مشارکت کنندگان دستگاه با جدیدترین نسخه فعلی ، رفع اشکالات ، راه اندازی دستگاه های جدید ، آزمایش ویژگی های جدید و غیره کار می کنند.
  3. به موازات آن ، Google با توجه به نیازها و اهداف محصول ، در نسخه بعدی پلتفرم و چارچوب اندرویدی کار می کند. نسخه بعدی Android را با همکاری با یک شریک دستگاه در یک دستگاه پرچمدار که مشخصات آن برای فشار دادن اندرویدی به مسیری که فکر می کنیم باید انتخاب شود ، توسعه داده ایم.
  4. وقتی نسخه n + 1 آماده شد ، در درخت منبع عمومی منتشر می شود و به جدیدترین نسخه جدید تبدیل می شود.

شرایط و احتیاطها

  • یک نسخه مطابق با نسخه رسمی پلتفرم Android مانند 1.5 یا 8.1 است. انتشار این پلتفرم مربوط به نسخه موجود در قسمت SdkVersion از پرونده های AndroidManifest.xml و در frameworks/base/api در درخت منبع تعریف شده است.
  • پروژه بالادستی یک پروژه منبع باز است که از طریق آن کد پشته اندروید کد می کشد. علاوه بر پروژه هایی مانند هسته لینوکس و WebKit ، ما همچنان به برخی از پروژه های نیمه مستقل اندرویدی مانند ART ، ابزارهای SDK Android و Bionic مهاجرت می کنیم تا بعنوان پروژه های بالادستی فعالیت کنند. به طور کلی ، این پروژه ها کاملاً در درخت عمومی توسعه یافته اند. برای برخی از پروژه های بالادست ، توسعه دهندگان مستقیماً در پروژه بالادست مشارکت می کنند. برای جزئیات بیشتر ، به پروژه های بالادست مراجعه کنید. در هر دو حالت ، عکس های فوری به صورت دوره ای به نسخه های کشیده می شوند.
  • در همه زمان ها ، یک کدگذاری نسخه (که ممکن است شامل بیش از یک شاخه از git باشد) تنها یک منبع منبع متعارف برای یک نسخه پلتفرم اندرویدی در نظر گرفته می شود. OEM ها و سایر دستگاه های ساختمانی گروه ها فقط باید از یک شاخه رها شوند.
  • برنامه های خطی آزمایشی برای ضبط تغییرات جامعه ایجاد شده است تا بتوان آنها را با چشم به سمت ثبات تکرار کرد.
  • تغییراتی که ثابت می شود در نهایت به شاخه رهاسازی کشیده می شوند. این امر فقط در مورد رفع اشکال ، بهبود برنامه ها و سایر تغییرات که بر API های این سیستم عامل تأثیر نمی گذارد صدق می کند.
  • در صورت لزوم ، تغییرات به شاخه های آزاد شده از پروژه های بالادست (از جمله پروژه های بالادست اندروید) منتقل می شوند.
  • نسخه n + 1 (نسخه بعدی بعدی چارچوب و API های پلتفرم) توسط Google داخلی ساخته شده است. برای جزئیات بیشتر ، به برنامه های خصوصی مراجعه کنید .
  • در صورت لزوم ، تغییرات از شاخه های بالادست ، انتشار و آزمایش به شعبه خصوصی Google منتقل می شوند.
  • هنگامی که API های نسخه برای نسخه بعدی تثبیت شده و به طور کامل آزمایش شده اند ، گوگل نسخه نسخه سکوی بعدی (به طور خاص ، SdkVersion جدید) را کاهش می دهد. این مربوط به کد داخلی است که یک شعبه انتشار عمومی و کدگذاری سکوی جدید فعلی ساخته می شود.
  • هنگامی که یک نسخه جدید پلت فرم بریده می شود ، یک کدبندی تجربی مربوطه در همان زمان ایجاد می شود.

کد های خصوصی

استراتژی مدیریت منبع فوق در بالا شامل یک برنامه نویسی است که Google برای حفظ توجه به نسخه عمومی فعلی Android ، خصوصی را نگه می دارد.

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

در نتیجه ، گوگل غالباً اطلاعات محرمانه ای را از اشخاص ثالث در اختیار دارد و تا زمانی که محافظت های مناسب را انجام دهد ، از آشکار کردن ویژگی های حساس خودداری می کند. علاوه بر این ، اگر نسخه های بیش از حد بسیاری از پلتفرم ها در یک زمان وجود داشته باشند ، خطرات واقعی برای پلتفرم وجود دارد. به همین دلایل ، ما پروژه متشکل از متن باز (از جمله کمک های شخص ثالث) را برای تمرکز روی نسخه پایدار فعلی اندروید ساختیم. توسعه عمیق روی نسخه بعدی این پلتفرم به صورت خصوصی رخ می دهد تا زمانی که آماده تبدیل شدن به یک نسخه رسمی شود.

ما می دانیم که بسیاری از مشارکت کنندگان با این رویکرد مخالف هستند و به دیدگاه آنها احترام می گذاریم. با این حال ، این رویکردی است که ما احساس می کنیم بهترین است و روشی است که ما برای اجرای Android انتخاب کرده ایم.