GkiDeviceFlashPreparer

public class GkiDeviceFlashPreparer
extends BaseTargetPreparer implements ILabPreparer

java.lang.Object
   ↳ com.android.tradefed.targetprep.BaseTargetPreparer
     ↳ com.android.tradefed.targetprep.GkiDeviceFlashPreparer


כלי להכנת יעד שמבצע פלאשינג של המכשיר עם תמונה גנרית של ליבת Android נפוצה. פרטים נוספים זמינים בכתובת https://source.android.com/devices/architecture/kernel/android-common.

סיכום

‫constructors ציבוריים

GkiDeviceFlashPreparer()

‫methods ציבוריים

void setUp(TestInformation testInfo)

מבצעים את הגדרת היעד לצורך בדיקה.

void validateGkiBootImg(ITestDevice device, IBuildInfo buildInfo)

יש לוודא שקובץ אימג' לאתחול של GKI הוא כמצופה.

שיטות מוגנות

void addHashFooter(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

יש לוודא שקובץ אימג' לאתחול של GKI הוא כמצופה.

void buildGkiSystemDlkmImg(ITestDevice device, IBuildInfo buildInfo, File tmpDir)

יצירת תמונת GKI system_dlkm אם מסופק ארכיון system_dlkm.

File extractSystemDlkmTarGzip(File systemDlkmArchive)

מחלץ את קובץ ה-tar gzip של system_dlkm לתיקייה system_dlkm_staging.

void flattenSystemDlkm(ITestDevice device, File systemDlkmStagingDir)

משטחים את ספריית ההכנה (staging) של 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)

מוודאים שגרסאות הליבה בתמונות הן הגרסאות הצפויות.

‫constructors ציבוריים

GkiDeviceFlashPreparer

public GkiDeviceFlashPreparer ()

‫methods ציבוריים

setUp

public void setUp (TestInformation testInfo)

מבצעים את הגדרת היעד לצורך בדיקה.

פרמטרים
testInfo TestInformation: ה-TestInformation של ההפעלה.

הקפצת הודעות שגיאה (throw)
BuildError
DeviceNotAvailableException
TargetSetupError

validateGkiBootImg

public void validateGkiBootImg (ITestDevice device, 
                IBuildInfo buildInfo)

יש לוודא שקובץ אימג' לאתחול של GKI הוא כמצופה. (הוצא משימוש. צריך להתקשר עם tmpDir שסופק)

פרמטרים
device ITestDevice: ITestDevice

buildInfo IBuildInfo: IBuildInfo פרטי הגרסה

הקפצת הודעות שגיאה (throw)
TargetSetupError אם אין קובץ gki boot.img תקין

שיטות מוגנות

addHashFooter

protected void addHashFooter (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

יש לוודא שקובץ אימג' לאתחול של GKI הוא כמצופה. הקפצת הודעת שגיאה (throw) אם אין קובץ boot.img תקין.

פרמטרים
device ITestDevice: ITestDevice

buildInfo IBuildInfo: IBuildInfo מידע על גרסת ה-build

tmpDir File: ספריית הזמנית File

הקפצת הודעות שגיאה (throw)
TargetSetupError אם אין קובץ gki boot.img תקין
DeviceNotAvailableException

buildGkiSystemDlkmImg

protected void buildGkiSystemDlkmImg (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

יצירת תמונת GKI system_dlkm אם מסופק ארכיון system_dlkm.

פרמטרים
device ITestDevice: ITestDevice

buildInfo IBuildInfo: IBuildInfo פרטי הגרסה

tmpDir File: ספריית הזמנית File

הקפצת הודעות שגיאה (throw)
TargetSetupError אם יש שגיאה ביצירת קובץ התמונה.

extractSystemDlkmTarGzip

protected File extractSystemDlkmTarGzip (File systemDlkmArchive)

מחלץ את קובץ ה-tar gzip של system_dlkm לתיקייה system_dlkm_staging. הפונקציה הזו היא wrapper סביב ERROR(/TarUtil.extractTarGzipToTemp) כדי ליצור stub לביטול הדחיסה לצורך בדיקות יחידה.

פרמטרים
systemDlkmArchive File: קובץ ה-tar gzip של system_dlkm שמכיל מודולים של GKI.

החזרות
File קובץ שמכיל את התוכן של system_dlkm tar gzip.

הקפצת הודעות שגיאה (throw)
java.io.IOException
IOException

flattenSystemDlkm

protected void flattenSystemDlkm (ITestDevice device, 
                File systemDlkmStagingDir)

משטחים את ספריית ההכנה (staging) של system_dlkm כך שכל מודולי הליבה יהיו ישירות מתחת ל-‎/lib/modules. הפעולה הזו נדרשת כדי להתאים את הפריסה הצפויה של קובץ system_dlkm לבניית פלטפורמה.

פרמטרים
device ITestDevice: ITestDevice

systemDlkmStagingDir File: ספריית ההכנה של system_dlkm File

הקפצת הודעות שגיאה (throw)
IOException או TargetSetupError אם יש שגיאה בשטיח של system_dlkm.
TargetSetupError

getDeviceKernelVersion

protected String[] getDeviceKernelVersion (ITestDevice device)

לפני שמבצעים פלאשינג, צריך לקבל את גרסת ליבת המכשיר מהמכשיר.

פרמטרים
device ITestDevice: ה-ITestDevice שממנו רוצים לקבל את גרסת הליבה.

החזרות
String[] ERROR(/String[]) שמכיל את פרטי גרסת הליבה המנותחים: [kernelVersion, patchLevel, pageSize]. הפונקציה מחזירה ערך null אם אי אפשר לנתח את מחרוזת הגרסה.2

הקפצת הודעות שגיאה (throw)
DeviceNotAvailableException

getHostOptions

protected IHostOptions getHostOptions ()

קבלת הפניה אל IHostOptions

החזרות
IHostOptions IHostOptions לשימוש

getKernelVersionFromImage

protected String[] getKernelVersionFromImage (File image)

הפעולה מחלצת את גרסת הליבה מקובצי אימג' של boot/vendor_boot/system_dlkm/vendor_dlkm. השיטה הזו קוראת את קובץ התמונה boot/vendor_boot/system_dlkm/vendor_dlkm ומחפשת תבנית ספציפית במחרוזות של גרסת ליבת Android. לאחר מכן, הוא מנתח את המחרוזת שנמצאה כדי לחלץ את גרסת הליבה בפורמט סטנדרטי.

פרמטרים
image File: הנתיב File לקובץ האימג' לאתחול (למשל, boot.img).

החזרות
String[] ERROR(/String[]) שמכיל את פרטי גרסת הליבה המנותחים: [kernelVersion, patchLevel, pageSize]. הפונקציה מחזירה ערך null אם לא ניתן לנתח את מחרוזת הגרסה.

getRequestedFile

protected File getRequestedFile (ITestDevice device, 
                String requestedFileName, 
                File sourceFile, 
                File tmpDir)

מקבלים את הקובץ המבוקש מקובץ המקור (ZIP או תיקייה) לפי שם הקובץ המבוקש.

קובץ המקור יכול להיות קובץ ZIP. השיטה תבצע פתיחה של הקובץ לתיקייה זמנית ותחפש את הקובץ המבוקש לפי שם הקובץ שסופק.

קובץ המקור שצירפת יכול להיות תיקיית קבצים. השיטה תמצא את הקובץ המבוקש לפי שם הקובץ שצוין.

פרמטרים
device ITestDevice: ITestDevice

requestedFileName String: מחרוזת שם הקובץ המבוקש

sourceFile File: קובץ המקור

tmpDir File

החזרות
File הקובץ שצוין בשם הקובץ המבוקש

הקפצת הודעות שגיאה (throw)
com.android.tradefed.targetprep.TargetSetupError
TargetSetupError

getRunUtil

protected IRunUtil getRunUtil ()

מקבלים את המופע של IRunUtil שבו רוצים להשתמש.

החזרות
IRunUtil IRunUtil לשימוש

parseKernelVersion

protected String[] parseKernelVersion (String source, 
                String kernelVersionString)

פרמטרים
source String

kernelVersionString String

החזרות
String[]

validateGkiBootImg

protected void validateGkiBootImg (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

יש לוודא שקובץ אימג' לאתחול של GKI הוא כמצופה. הקפצת הודעת שגיאה (throw) אם אין קובץ boot.img תקין.

פרמטרים
device ITestDevice: ITestDevice

buildInfo IBuildInfo: IBuildInfo מידע על גרסת ה-build

tmpDir File: ספריית הזמנית File

הקפצת הודעות שגיאה (throw)
TargetSetupError אם אין קובץ gki boot.img תקין

validateKernelCompatibility

protected void validateKernelCompatibility (String imageName, 
                String[] imageVersion, 
                String[] bootVersion, 
                ITestDevice device)

פרמטרים
imageName String

imageVersion String

bootVersion String

device ITestDevice

הקפצת הודעות שגיאה (throw)
TargetSetupError

validateKernelVersion

protected void validateKernelVersion (ITestDevice device, 
                IBuildInfo buildInfo, 
                File tmpDir)

מוודאים שגרסאות הליבה בתמונות הן הגרסאות הצפויות. הקפצת הודעת שגיאה (throw) לחריגה אם הערך לא תקין.

פרמטרים
device ITestDevice: ITestDevice

buildInfo IBuildInfo: IBuildInfo פרטי הגרסה

tmpDir File: ספריית הזמנית File

הקפצת הודעות שגיאה (throw)
TargetSetupError אם אין קובץ gki boot.img תקין
DeviceNotAvailableException