KernelModuleUtils

public class KernelModuleUtils
extends Object

java.lang.Object
   ↳ com.android.tradefed.util.KernelModuleUtils


ملخّص

وظائف الإنشاء العامة

KernelModuleUtils()

الطرق العامة

static String[] getDependentModules(String modName, String lsmodOutput)

عرض أسماء الوحدات التي تعتمد عليها الوحدة المحدّدة

static String getDisplayedModuleName(String fullPath)

عرض اسم الوحدة كما يظهر بعد التحميل

static CommandResult installModule(ITestDevice device, String modulePath, String arg, long timeoutMs)

تثبيت وحدة نواة على الجهاز المحدَّد

static String removeKoExtension(String s)

إزالة الإضافة ‎.ko إذا كانت موجودة

static CommandResult removeModuleWithDependency(ITestDevice device, String moduleName)

إزالة وحدة نواة والوحدات التابعة لها من الجهاز المحدَّد

static CommandResult removeSingleModule(ITestDevice device, String moduleName)

إزالة وحدة نواة من الجهاز المحدَّد

وظائف الإنشاء العامة

KernelModuleUtils

public KernelModuleUtils ()

الطرق العامة

getDependentModules

public static String[] getDependentModules (String modName, 
                String lsmodOutput)

عرض أسماء الوحدات التي تعتمد عليها الوحدة المحدّدة

على سبيل المثال، إذا كانت الوحدة المحدّدة هي "kunit"، وكانت نتيجة "lsmod" هي:

$ lsmod
 Module        Size    Used by
 kunit_test    663552  0
 time_test     663558  0
 kunit         57344   15 kunit_test,time_test
 
بعد ذلك، ستُرجع هذه الطريقة مصفوفة تحتوي على "kunit_test" و"time_test".

المعلمات
modName String

lsmodOutput String

المرتجعات
String[]

getDisplayedModuleName

public static String getDisplayedModuleName (String fullPath)

عرض اسم الوحدة كما يظهر بعد التحميل

على سبيل المثال، اطّلِع على الفرق بين اسم الملف والاسم الذي يعرضه الأمر lsmod:

$ insmod kunit.ko
 $ lsmod | grep kunit
 kunit 20480 0
 

المعلمات
fullPath String

المرتجعات
String

installModule

public static CommandResult installModule (ITestDevice device, 
                String modulePath, 
                String arg, 
                long timeoutMs)

تثبيت وحدة نواة على الجهاز المحدَّد

المعلمات
device ITestDevice: الجهاز الذي سيتم تثبيت الوحدة عليه

modulePath String: مسار الوحدة المطلوب تثبيتها

arg String: الوسيطة التي يتم تمريرها إلى الأمر install

timeoutMs long: وقت الاستراحة بالمللي ثانية

المرتجعات
CommandResult

عمليات الرمي
TargetSetupError في حال تعذّر تثبيت الوحدة
DeviceNotAvailableException إذا لم يكن الجهاز متاحًا

removeKoExtension

public static String removeKoExtension (String s)

إزالة الإضافة ‎.ko إذا كانت موجودة

المعلمات
s String

المرتجعات
String

removeModuleWithDependency

public static CommandResult removeModuleWithDependency (ITestDevice device, 
                String moduleName)

إزالة وحدة نواة والوحدات التابعة لها من الجهاز المحدَّد

تحاول هذه الطريقة إزالة وحدة kernel المستهدفة من الجهاز. إذا كانت الوحدة تحتوي على أيّ عناصر تابعة، ستتم إزالة هذه الوحدات التابعة قبل الوحدة المستهدَفة بأفضل جهد ممكن.

المعلمات
device ITestDevice: الجهاز الذي ستتم إزالة الوحدة منه

moduleName String: اسم الوحدة المطلوب إزالتها

المرتجعات
CommandResult

عمليات الرمي
DeviceNotAvailableException إذا لم يكن الجهاز متاحًا

removeSingleModule

public static CommandResult removeSingleModule (ITestDevice device, 
                String moduleName)

إزالة وحدة نواة من الجهاز المحدَّد

تحاول هذه الطريقة إزالة وحدة kernel المستهدفة من الجهاز. ولن تتم إزالة أي وحدات تعتمد على الوحدات التي تمّت إزالتها.

المعلمات
device ITestDevice: الجهاز الذي ستتم إزالة الوحدة منه

moduleName String: اسم الوحدة المطلوب إزالتها

المرتجعات
CommandResult

عمليات الرمي
DeviceNotAvailableException إذا لم يكن الجهاز متاحًا