از سال ۲۰۲۶، برای همسو شدن با مدل توسعه پایدار ترانک و تضمین پایداری پلتفرم برای اکوسیستم، کد منبع را در سهماهه دوم و چهارم در AOSP منتشر خواهیم کرد. برای ساخت و مشارکت در AOSP، android-latest-release استفاده کنید. شاخه مانیفست android-latest-release همیشه به جدیدترین نسخه منتشر شده در AOSP ارجاع میدهد. برای اطلاعات بیشتر، به تغییرات در AOSP مراجعه کنید.
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
آمادهساز فلش دستگاه GkiDevice
public class GkiDeviceFlashPreparer
extends BaseTargetPreparer implements ILabPreparer
یک آمادهساز هدف که دستگاه را با ایمیج عمومی کرنل رایج اندروید فلش میکند. برای جزئیات بیشتر لطفاً به https://source.android.com/devices/architecture/kernel/android-common مراجعه کنید.
خلاصه
روشهای محافظتشده |
|---|
void | addHashFooter ( ITestDevice device, IBuildInfo buildInfo, File tmpDir) اعتبارسنجی تصویر بوت GKI مورد انتظار است. |
void | buildGkiSystemDlkmImg ( ITestDevice device, IBuildInfo buildInfo, File tmpDir) اگر آرشیو system_dlkm ارائه شده باشد، تصویر GKI system_dlkm را بسازید. |
File | extractSystemDlkmTarGzip (File systemDlkmArchive) فایل tar gzip مربوط به system_dlkm را در پوشه system_dlkm_staging استخراج میکند. |
void | flattenSystemDlkm ( ITestDevice device, File systemDlkmStagingDir) پوشهی مرحلهبندی system_dlkm را مسطح کنید تا تمام ماژولهای هسته مستقیماً در /lib/modules قرار گیرند. |
String[] | getDeviceKernelVersion ( ITestDevice device) قبل از فلش کردن، نسخه کرنل دستگاه را از دستگاه دریافت کنید. |
IHostOptions | getHostOptions () به IHostOptions ارجاع دهید |
String[] | getKernelVersionFromImage (File image) نسخه هسته را از فایلهای ایمیج boot/vendor_boot/system_dlkm/vendor_dlkm استخراج میکند. |
File | getRequestedFile ( ITestDevice device, String requestedFileName, File sourceFile, File tmpDir) فایل درخواستی را از فایل منبع (zip یا پوشه) با نام فایل درخواستی دریافت کنید. |
IRunUtil | getRunUtil () نمونه IRunUtil را برای استفاده دریافت کنید. |
String[] | parseKernelVersion (String source, String kernelVersionString) |
void | validateGkiBootImg ( ITestDevice device, IBuildInfo buildInfo, File tmpDir) اعتبارسنجی تصویر بوت GKI مورد انتظار است. |
void | validateKernelCompatibility (String imageName, String[] imageVersion, String[] bootVersion, ITestDevice device) |
void | validateKernelVersion ( ITestDevice device, IBuildInfo buildInfo, File tmpDir) انتظار میرود نسخههای کرنل موجود در تصاویر اعتبارسنجی شوند. |
سازندگان عمومی
آمادهساز فلش دستگاه GkiDevice
public GkiDeviceFlashPreparer ()
روشهای عمومی
public void setUp (TestInformation testInfo)
تنظیمات هدف را برای آزمایش انجام دهید.
اعتبارسنجیGkiBootImg
public void validateGkiBootImg (ITestDevice device,
IBuildInfo buildInfo) اعتبارسنجی تصویر بوت GKI مورد انتظار است. (منسوخ شده. لطفاً با tmpDir ارائه شده تماس بگیرید)
روشهای محافظتشده
protected void addHashFooter (ITestDevice device,
IBuildInfo buildInfo,
File tmpDir) اعتبارسنجی تصویر بوت GKI مورد انتظار است. در صورت عدم وجود boot.img معتبر، استثنا ایجاد میشود.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
buildInfo | IBuildInfo : اطلاعات ساخت در IBuildInfo |
tmpDir | File : دایرکتوری موقت File |
buildGkiSystemDlkmImg
protected void buildGkiSystemDlkmImg (ITestDevice device,
IBuildInfo buildInfo,
File tmpDir) اگر آرشیو system_dlkm ارائه شده باشد، تصویر GKI system_dlkm را بسازید.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
buildInfo | IBuildInfo : اطلاعات ساخت در IBuildInfo |
tmpDir | File : دایرکتوری موقت File |
protected File extractSystemDlkmTarGzip (File systemDlkmArchive)
فایل فشردهی system_dlkm tar gzip را در پوشهی system_dlkm_staging استخراج میکند. این تابع، پوششی پیرامون ERROR(/TarUtil.extractTarGzipToTemp) است تا untarring را برای تست واحد، حذف کند.
| پارامترها |
|---|
systemDlkmArchive | File : فایل tar gzip مربوط به system_dlkm که حاوی ماژولهای GKI است. |
| بازگشتها |
|---|
File | فایلی که حاوی محتویات tar gzip مربوط به system_dlkm است. |
| پرتابها |
|---|
| استثنای java.io.IO |
IOException | |
flattenSystemDlkm
protected void flattenSystemDlkm (ITestDevice device,
File systemDlkmStagingDir) پوشهی مرحلهبندی system_dlkm را مسطح کنید تا تمام ماژولهای هسته مستقیماً در /lib/modules قرار گیرند. این کار برای مطابقت با طرحبندی فایل system_dlkm مورد انتظار برای ساخت پلتفرم ضروری است.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
systemDlkmStagingDir | File : دایرکتوری مرحلهبندی File |
| پرتابها |
|---|
IOException | یا TargetSetupError اگر خطایی در مسطح کردن system_dlkm وجود داشته باشد. |
TargetSetupError | |
دریافت نسخه هسته دستگاه
protected String[] getDeviceKernelVersion (ITestDevice device)
قبل از فلش کردن، نسخه کرنل دستگاه را از دستگاه دریافت کنید.
| پارامترها |
|---|
device | ITestDevice : ITestDevice قرار است نسخه کرنل را از آن دریافت کنیم. |
| بازگشتها |
|---|
String[] | یک ERROR(/String[]) حاوی اطلاعات نسخه هسته تجزیه شده: [kernelVersion, patchLevel, pageSize]. اگر رشته نسخه قابل تجزیه نباشد، مقدار null را برمیگرداند.2 |
دریافت نسخه کرنل از تصویر
protected String[] getKernelVersionFromImage (File image)
نسخه هسته را از فایلهای تصویری boot/vendor_boot/system_dlkm/vendor_dlkm استخراج میکند. این روش فایل تصویری boot/vendor_boot/system_dlkm/vendor_dlkm را میخواند و به دنبال الگوی خاصی در رشتههای نسخه هسته اندروید میگردد. سپس رشته یافت شده را تجزیه میکند تا نسخه هسته را در قالبی استاندارد استخراج کند.
| پارامترها |
|---|
image | File : File مربوط به فایل ایمیج بوت (مثلاً boot.img). |
| بازگشتها |
|---|
String[] | یک ERROR(/String[]) حاوی اطلاعات نسخه هسته تجزیه شده: [kernelVersion, patchLevel, pageSize]. اگر رشته نسخه قابل تجزیه نباشد، مقدار null را برمیگرداند. |
دریافت فایل درخواستی
protected File getRequestedFile (ITestDevice device,
String requestedFileName,
File sourceFile,
File tmpDir)فایل درخواستی را از فایل منبع (zip یا پوشه) با نام فایل درخواستی دریافت کنید.
فایل منبع ارائه شده میتواند یک فایل زیپ باشد. این متد آن را در یک دایرکتوری موقت از حالت زیپ خارج کرده و فایل درخواستی را با نام فایل ارائه شده پیدا میکند.
فایل منبع ارائه شده میتواند یک پوشه فایل باشد. این متد فایل درخواست شده را با نام فایل ارائه شده پیدا میکند.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
requestedFileName | String : نام فایل درخواستی رشته |
sourceFile | File : فایل منبع |
tmpDir | File |
| بازگشتها |
|---|
File | فایلی که با نام فایل درخواستی مشخص شده است |
دریافت RunUtil
protected IRunUtil getRunUtil ()
نمونه IRunUtil را برای استفاده دریافت کنید.
تجزیه نسخه هسته
protected String[] parseKernelVersion (String source,
String kernelVersionString)| پارامترها |
|---|
source | String |
kernelVersionString | String |
اعتبارسنجیGkiBootImg
protected void validateGkiBootImg (ITestDevice device,
IBuildInfo buildInfo,
File tmpDir)اعتبارسنجی تصویر بوت GKI مورد انتظار است. در صورت عدم وجود boot.img معتبر، استثنا ایجاد میشود.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
buildInfo | IBuildInfo : اطلاعات ساخت در IBuildInfo |
tmpDir | File : دایرکتوری موقت File |
اعتبارسنجی سازگاری هسته
protected void validateKernelCompatibility (String imageName,
String[] imageVersion,
String[] bootVersion,
ITestDevice device)| پارامترها |
|---|
imageName | String |
imageVersion | String |
bootVersion | String |
device | ITestDevice |
اعتبارسنجی نسخه هسته
protected void validateKernelVersion (ITestDevice device,
IBuildInfo buildInfo,
File tmpDir)نسخههای کرنل موجود در ایمیجها را اعتبارسنجی کنید. در صورت عدم اعتبار، استثنا ایجاد کنید.
| پارامترها |
|---|
device | ITestDevice : ITestDevice |
buildInfo | IBuildInfo : اطلاعات ساخت در IBuildInfo |
tmpDir | File : دایرکتوری موقت File |
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-06-22 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-06-22 بهوقت ساعت هماهنگ جهانی."],[],[]]