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