ساخت اندروید

برای شروع ساخت Android ، این دستورالعمل ها را دنبال کنید.

راه اندازی محیط

مقداردهی اولیه محیط زیست با envsetup.sh اسکریپت:

source build/envsetup.sh

یا

. build/envsetup.sh

اسکریپت را در مشاهده پلت فرم / ساخت / envsetup.sh برای شرح بیشتر دستورات مربوطه، از جمله ناهار برای انتخاب اهداف دستگاه و تاپاس برای ساخت برنامه های غیرتجاری، مانند برنامه تلویزیون مرجع .

شما نیاز به چاپ مجدد این دستور بعد از هر repo sync را انتخاب کنید تا هر گونه تغییر در آن اسکریپت. توجه داشته باشید که به جای source با . (یک نقطه واحد) چند نویسه را ذخیره می کند و از فرم کوتاه بیشتر در اسناد استفاده می شود.

envsetup.sh واردات اسکریپت چند فرمان که شما را قادر به کار با کد منبع اندروید، از جمله دستورات مورد استفاده در این ورزش است.

برای مشاهده لیست کامل دستورات موجود ، اجرا کنید:

hmm

انتخاب هدف

ناهار

را انتخاب کنید که هدف قرار دادن برای ساخت با lunch . lunch product_name - build_variant انتخاب product_name به عنوان محصول برای ساخت، و build_variant به عنوان نوع برای ساخت، و فروشگاه های آن انتخاب در محیط به فراخوانی های بعدی خوانده شود m و دیگر دستورات مشابه است.

پیکربندی دقیق را می توان به عنوان یک آرگومان منتقل کرد. به عنوان مثال ، دستور زیر به یک ساخت کامل برای شبیه ساز اشاره می کند و همه اشکال زدایی ها فعال هستند:

lunch aosp_arm-eng

اگر بدون آرگومان اجرا، lunch شما را به انتخاب یک هدف از منو. مشاهده انتخاب یک ساخت دستگاه برای پیکر بندی های ساخت از تمام دستگاه های موجود است.

تمام اهداف ساخت به شکل BUILD-BUILDTYPE ، که در آن BUILD یک اسم رمز با اشاره به ترکیبی از ویژگی های خاص است. BUILDTYPE یک از موارد زیر است.

نوع ساختمان استفاده کنید
کاربر دسترسی محدود؛ مناسب برای تولید
userdebug مانند کاربر اما با دسترسی ریشه و قابلیت اشکال زدایی ؛ برای اشکال زدایی ترجیح داده می شود
مهندسی پیکربندی توسعه با ابزارهای اشکال زدایی اضافی

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

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

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

تاپاس

tapas فرمان پیکربندی ساخت از برنامه های غیرتجاری. این برنامه برنامه های فردی را که توسط سیستم ساخت Android ساخته می شوند انتخاب می کند. بر خلاف lunch ، tapas کند ساختمان از تصاویر برای یک دستگاه درخواست نمی کنند.

اجرا tapas help برای اطلاعات بیشتر بر روی فرمان.

ساختن کد

این بخش خلاصه ای سریع برای اطمینان از کامل بودن راه اندازی است.

همه چیز ساخت با m . m می تواند وظایف موازی با دسته -jN استدلال است. اگر شما یک ارائه نمی -j استدلال، ساخت سیستم به طور خودکار انتخاب تعداد کار موازی که آن فکر می کند بهینه برای سیستم شما می باشد.

m

همانطور که در بالا توضیح داده شد، شما می توانید ماژول های خاص به جای تصویر کامل دستگاه با فهرست نام خود را در خود ایجاد نمایید m خط فرمان. علاوه بر این، m برخی pseudotargets برای مقاصد خاص فراهم می کند. برخی از نمونه ها عبارتند از:

  • droid - m droid ساخت طبیعی است. این هدف اینجاست زیرا هدف پیش فرض نیاز به نام دارد.
  • all - m all هر چیزی که ایجاد m droid می کند، به علاوه همه چیز می کند که ندارد droid برچسب. سرور ساخت این اجرا می شود مطمئن شوید که همه چیز است که در درخت و دارای یک Android.mk فایل می سازد.
  • m - قابل اجرا ایجاد از بالای درخت. این بسیار مفید است زیرا شما می توانید اجرا make از درون زیرشاخه. اگر شما از TOP مجموعه متغیر محیطی، آن استفاده می کند که. در غیر این صورت ، درخت را از فهرست فعلی نگاه می کند و سعی می کند بالای درخت را پیدا کند. شما هم می توانید طیف درخت کد منبع با اجرای ساخت m بدون استدلال و یا اهداف ساخت خاص را بوسیله نام خود را.
  • mma - ایجاد تمام از ماژول های موجود در دایرکتوری جاری، و وابستگیهای خود.
  • mmma - ایجاد تمام از ماژول در دایرکتوری عرضه شده، و وابستگیهای خود.
  • croot - cd به بالای درخت.
  • clean - m clean حذف تمام خروجی و فایل های میانی برای این پیکربندی. این همان است rm -rf out/ .

اجرای m help برای دیدن دیگر pseudotargets m فراهم می کند.

اجرای بیلد

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

چشمک زدن با fastboot

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

شبیه سازی یک دستگاه Android

شبیه ساز با فرایند ساخت به طور خودکار به مسیر شما اضافه می شود. برای اجرای شبیه ساز ، عبارت زیر را تایپ کنید:

emulator

درک ساخت اثر انگشت

برای ردیابی و گزارش مسائل مربوط به یک نسخه اندرویدی خاص ، درک اثر انگشت ساخت مهم است. اثر انگشت بیلد یک رشته منحصر به فرد و قابل خواندن برای انسان است که حاوی اطلاعات تولید کننده برای هر ساختمان است. توضیحات اثر انگشت در مشاهده پارامترهای ساخت بخش از تعریف سازگاری آندروید سند (CDD) برای نحو دقیق.

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

اثر انگشت بیل شامل تمام جزئیات پیاده سازی اندروید است:

  • API ها: اندروید و بومی و همچنین رفتارهای API نرم
  • API اصلی و برخی از رفتارهای UI سیستم
  • سازگاری و الزامات امنیتی تعریف شده در CDD
  • مشخصات محصول و استفاده از ویژگی های تنظیم کار گرفته شده توسط برنامه ها به دستگاه های هدف رفع نیازهای انتظار می رود
  • پیاده سازی اجزای سخت افزاری و نرم افزاری

مراجعه کنید CDD جزئیات کامل و اضافه کردن یک دستگاه جدید برای دستورالعمل در مورد ایجاد یک دستگاه کاملا جدید آندروید.

عیب یابی خطاهای معمول ساخت

نسخه جاوا اشتباه است

اگر شما در حال تلاش برای ساخت یک نسخه از آندروید که مغایر با نسخه خود را از جاوا، make بینتیجه میگذارد با یک پیام مانند:

************************************************************
You are attempting to build with the incorrect version
of java.

Your version is: WRONG_VERSION.
The correct version is: RIGHT_VERSION.

Please follow the machine setup instructions at
    https://source.android.com/source/initializing.html
************************************************************

در اینجا دلایل و راه حل های احتمالی ذکر شده است:

  • عدم نصب JDK بهروز شده در مشخص مورد نیاز JDK . مطمئن شوید که شما مراحل را دنبال کردهاید و در راه اندازی محیط زیست و انتخاب یک هدف .
  • JDK دیگری که قبلاً نصب شده است در مسیر شما ظاهر می شود. JDK درست را در ابتدای مسیر خود قرار دهید یا JDK مشکل ساز را حذف کنید.

بدون مجوز USB

به طور پیش فرض در اکثر سیستم های لینوکس ، کاربران محروم نمی توانند به پورت های USB دسترسی داشته باشند. اگر شما یک خطای اجازه را تکذیب کرد را مشاهده کنید، دستورالعملهای پیکربندی دسترسی USB .

اگر بانک انکشاف آسیایی در حال حاضر در حال اجرا بود و نمی تواند بعد از گرفتن این قوانین راه اندازی را به دستگاه وصل، شما می توانید آن را با کشتن adb kill-server . این دستور باعث می شود ADB با پیکربندی جدید راه اندازی مجدد شود.