手把手教你在CTS中編寫自己的測試模組

2021-09-30 17:22:10 字數 1698 閱讀 2372

測試程式可以基於android的cts測試框架來進行編寫及編譯。

這裡我以相機模組來進行說明。

具體步驟如下:

1.進入到android/cts/tests/目錄下,其中camera資料夾即為cts中的相機測試模組

2.複製camera資料夾,重新命名(如cameradhane),由於我們的測試項和cts測試類似,直接複製camera資料夾進行相應的修改更方便。當然也可以選擇自己新建乙個資料夾。下面還是以複製資料夾的方法為例進行說明。

3.進入剛建立的cameradhane資料夾,開啟android.mk文件,修改其中的local_package_name:,修改為自己準備建立的模組的名字,如果是自己複製過來的話不進行修改會導致和camera中的cts測試模組衝突,編譯不通過。自己新建資料夾的可以新建乙個mk檔案,具體的編寫規範可以參考:

4.修改androidmanifest.xml文件

主要修改包名用來使手機區分cts相機和我們的應用相機:

package: android.camera.cts 修改為 package:android.cameradhane.cts(也可以為其他名字)

android:targetpackage="android.camera.cts"修改為:android:targetpackage="android.cameradhane.cts"。

注意一定不要忘記修改targetpackage,否則即使修改了package的內容,最後生成的包名還是原來的名字。

自己新建的也一定要注意以上兩項,其他項可以參考:

5.修改androidtest.xml檔案

注意和   中value的值要和之前的修改的apk模組的名字要對應。    

6.新建原始檔

注意之前修改的android.mk、androidmanifest.xml、androidtest.xml檔案中的內容,android.mk檔案中會把libraries中包含路徑中的檔案都包含進來進行編譯,然後生成對應包名的包。

7.編譯

要基於android 原始碼進行編譯,回退到android目錄下:

cd android/

source build/envsetup.h

lunch   選擇測試機的架構,這裡選擇2.aosp_arm64-eng

make cts

等待編譯完成。

編譯好的cts測試檔案在android/out/host/linux-x86/cts/android-cts資料夾中。

8.測試

進入到android-cts/tools/ 目錄,執行cts-tradefed檔案:./cts-tradefed

也可以將相應的apk檔案拷貝出來,放入cts測試的資料夾,之後和cts測試一樣,執行相應的對應包名的命令即可進行測試。

要注意在測試之前將

android.cameradhane.cts

後期如果要新增新的測試項,可以直接在cameradhane/src/android/hardware/camera2/cts/資料夾下新增,不需要修改其他檔案,之後直接編譯,如果android.mk中又包含該路徑的話,會自動把該目錄下所有檔案編譯進去。

手把手教你編寫Logstash外掛程式

使用過logstash的朋友都知道,它強大的外掛程式生態幾乎覆蓋了所有的開源框架。從基本的http tcp udp file,到強大的kafa redis ganglia,還有豐富的解析工具,比如date json grok kv等等,有了它再也不用擔心資料不好蒐集了!不過需求是無限的,如果這些框架...

實現sigmoid 手把手教你自己動手實現神經網路

階躍函式是指一旦輸入超過閾值,就切換輸出的函式。上述感知機中使用的就是該種啟用函式,一旦a大於0則,輸出變為1.上述感知機的階躍函式圖形如下,從圖中可以看出該階躍函式以0為界,輸出從0切換為1 或從1切換為0 值呈階梯式變化,因此稱為階躍函式。sigmoid函式與階躍函式對比 sigmoid函式 右...

手把手教你在CentOS 6 8中安裝mysql

linux centos,mysql,安裝 解除安裝掉原有mysql 檢視該作業系統上是否已經安裝了mysql資料庫 rpm qa grep mysql 若有則解除安裝 rpm e mysql 普通刪除模式 或者 rpm e nodeps mysql 強力刪除模式,如果使用上面命令刪除時,提示有依賴...