12.UiAutomator 获取系统信息
一、Build構(gòu)建信息
1.build類:
Build類提供了硬件廠商、編號(hào)、序列號(hào)、SDK版本等重要信息。
類名:android.os.Build
| 常量名 | 說(shuō)明 |
| BOARD | 底層板名稱 |
| BOOTLOADER | Bootloader版本號(hào) |
| BRAND | 品牌 |
| CPU_ABI | CPU指令集 |
| CPU_ABI2 | CPU第二指令集 |
| DEVICE | 工業(yè)設(shè)計(jì)名稱 |
| DISPLAY | 顯示給用戶的構(gòu)建ID字符串 |
| FINGERPRINT | 構(gòu)建的唯一標(biāo)識(shí)符 |
| HARDWARE | 硬件的名稱 比如高通 |
| HOST | 主機(jī) |
| ID | ID標(biāo)簽 |
| MANUFACTURER | 產(chǎn)品生產(chǎn)商 |
| MODEL | 手機(jī)型號(hào) |
| PRODUCT | 產(chǎn)品名稱 |
| RADIO | 無(wú)線電固件版本號(hào) |
| SERIAL | 硬件序列號(hào)(如果可用) |
| TAGS | 逗號(hào)分隔標(biāo)簽描述構(gòu)建,如”調(diào)試” |
| TIME | 出場(chǎng)時(shí)間 |
| TYPE | 構(gòu)建類型 |
| USER | 構(gòu)建用戶名稱 |
2.Build.VERSION類
Build.VERSION類提供了開(kāi)發(fā)代號(hào)、內(nèi)部版本、SDK版本等信息
類名:android.os.Build.VEISION
| 常量名 | 說(shuō)明 |
| CODENAME | 當(dāng)前的開(kāi)發(fā)代號(hào) |
| INCREMENTAL | 使用的內(nèi)部值表示這個(gè)構(gòu)建底層的源代碼控制 |
| RELEASE | 用戶可見(jiàn)版本字符串 |
| SDK_INT | 用戶可見(jiàn)的SDK版本的框架 |
3.Build.VERSION_CODES類
android.os.Build.VERSION_CODES枚舉當(dāng)前已知的SDK版本代號(hào)
| 常量名 | 說(shuō)明 |
| BASE | 2008-10:第一個(gè)版本的android |
| BASE_1_1 | 2009-02:第一個(gè)安卓更新,官方稱為1.1 |
| CUPCAKE | 2009-05:android1.5 |
| CUR_DEVELOPMENT | 發(fā)展過(guò)程中構(gòu)建的版本,但是未正式發(fā)布 |
| DONUT | 2009-09:android1.6 |
| ECLAIR | 2009-11:android2.0 |
| ECLAIR_0_1 | 2009-12:android2.0.1 |
| ECLAIR_MR1 | 2010-01:android2.1 |
| FROYO | 2010-06:android2.2 |
| GINGERBREAD | 2010-11:android2.3 |
| GINGERBREAD_MR1 | 2011-02:android2.3.3 |
| HONEYCOMB | 2011-02:android3.0 |
| HONEYCOMB_MR1 | 2011-05:android3.1 |
| HONEYCOMB_MR2 | 2011-06:android3.2 |
| ICE_CREAM_SANDWICH | 2011-10:android4.0 |
| ICE_CREAM_SANDWICH_MR1 | 2011-12android4.0.3 |
| JELLY_BEAN | 2012-06:android4.1 |
| JELLY_BEAN_MR1 | android4.2 |
| JELLY_BEAN_MR2 | android4.3 |
| KITKAT | android4.4 |
4.實(shí)例演示:
public void testDemo1(){//Build類System.out.println("Build:"+Build.BOARD);System.out.println("Build:"+Build.BOOTLOADER);System.out.println("Build:"+Build.CPU_ABI);System.out.println("Build:"+Build.CPU_ABI2);System.out.println("Build:"+Build.DEVICE);System.out.println("Build:"+Build.DISPLAY);System.out.println("Build:"+Build.FINGERPRINT);System.out.println("Build:"+Build.HARDWARE);System.out.println("Build:"+Build.HOST);System.out.println("Build:"+Build.ID);System.out.println("Build:"+Build.MANUFACTURER);System.out.println("Build:"+Build.MODEL);System.out.println("Build:"+Build.PRODUCT);System.out.println("Build:"+Build.RADIO);System.out.println("Build:"+Build.SERIAL);System.out.println("Build:"+Build.TAGS);System.out.println("Build:"+Build.TIME);System.out.println("Build:"+Build.TYPE);System.out.println("Build:"+Build.USER);System.out.println("Build:"+Build.BOARD);//Build.VERSION類System.out.println("Build.VERSION:"+Build.VERSION.CODENAME);System.out.println("Build.VERSION:"+Build.VERSION.INCREMENTAL);System.out.println("Build.VERSION:"+Build.VERSION.RELEASE);System.out.println("Build.VERSION:"+Build.VERSION.SDK_INT);//Build.VERSION_CODES類System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.BASE);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.BASE_1_1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.CUPCAKE);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.CUR_DEVELOPMENT);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.ECLAIR);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.ECLAIR_0_1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.ECLAIR_MR1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.FROYO);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.GINGERBREAD);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.GINGERBREAD_MR1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.HONEYCOMB);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.HONEYCOMB_MR1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.HONEYCOMB_MR2);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.ICE_CREAM_SANDWICH);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.JELLY_BEAN);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.JELLY_BEAN_MR1);System.out.println("Build.VERSION_CODES:"+Build.VERSION_CODES.JELLY_BEAN_MR2); }2)通過(guò)判定手機(jī)SDK級(jí)別來(lái)使用API
public void testDemo2() throws UiObjectNotFoundException{//獲取SDK版本號(hào)int sdk=Build.VERSION.SDK_INT;//進(jìn)行判斷if (sdk>=18){//改一下鍵盤(pán)輸入默認(rèn)時(shí)間Configurator.getInstance().setKeyInjectionDelay(100);}//用例操作UiObject editText=new UiObject(new UiSelector().className(EditText.class.getName()));editText.setText("10086"); }二、Environment環(huán)境變量
Environment類提供了一些常用的Android環(huán)境變量的訪問(wèn)和獲取:
典型的文件目錄,如:root目錄、data目錄、外部SD卡目錄等
SD卡狀態(tài)檢測(cè),幫助了解外部存儲(chǔ)設(shè)備的狀態(tài)信息
| API | 說(shuō)明 |
| getDataDiretory() | 獲取數(shù)據(jù)目錄 |
| getDownloadCacheDirectory() | 獲取下載緩存目錄 |
| getExternalStorageDirectory() | 獲取外部存儲(chǔ)目錄 |
| getExternalStoragePublicDirectory(String type) | 獲取特定類型的目錄 |
| getExternalStorageState() | 獲取外部存儲(chǔ)狀態(tài) |
| getRootDirectory() | 獲取Root目錄 |
| getStorageState(File path) | 返回給定目錄的存儲(chǔ)狀態(tài) |
| isExternalStorageEmulated() | 檢查是否有外部存儲(chǔ)設(shè)備模擬 |
| isExternalStorageRemovable() | 檢查外部存儲(chǔ)設(shè)備是否可以移除 |
- 示例:
三、getprop命令獲取系統(tǒng)屬性
1.系統(tǒng)屬性
除了build類可提取系統(tǒng)屬性外,使用命令getprop可以列出所有的系統(tǒng)屬性,除了原生系統(tǒng)定義外,廠商定義的屬性也會(huì)全部列出。
存放系統(tǒng)屬性的文件位置如下:
/defalt.prop /system/build.prop /data/property 下的4個(gè)prop文件- 獲取的系統(tǒng)屬性非常多,對(duì)其進(jìn)行簡(jiǎn)單分類
1)dalvik.vm→ 虛擬機(jī)內(nèi)存分配情況
2)dhcp → 局域網(wǎng)參數(shù)信息
3)gsm → GSM信息
4)init → 守護(hù)進(jìn)程信息
5)net → 網(wǎng)絡(luò)信息
6)persist → 系統(tǒng)常駐
7)ro → 一些系統(tǒng)只讀屬性
8)wifi → wifi相關(guān)信息
8)其他廠商自定義的屬性
2.常用屬性舉例說(shuō)明
| 系統(tǒng)屬性 | KEY |
| 硬件平臺(tái) | ro.board.platform |
| SN號(hào) | ro.boot.serialno |
| 系統(tǒng)android版本號(hào) | ro.build.version.release |
| SDK級(jí)別 | ro.build.bersion.sdk |
| 手機(jī)當(dāng)前運(yùn)營(yíng)商信息 | gsm.operator.alpha |
| 系統(tǒng)版本 | ro.build.version.inscremental |
| 手機(jī)制造商信息 | ro.product.manufacturer |
| 手機(jī)型號(hào) | ro.product.model |
| 手機(jī)名子 | ro.product.name |
| 系統(tǒng)語(yǔ)言 | ro.product.local.language |
- 實(shí)例:
轉(zhuǎn)載于:https://www.cnblogs.com/JianXu/p/5225287.html
總結(jié)
以上是生活随笔為你收集整理的12.UiAutomator 获取系统信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 20135202闫佳歆--week 8
- 下一篇: 大数据笔记11:MapReduce的运行