1. 如何進行android兼容性測試cts
二、運行CTS的方法,步驟如下:
(1)進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
(2)進入tools目錄,輸入./startcts來啟動CTS。
(3)如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
三、CTS測試的方法:
(1)在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
(3)輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
(4)對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
(5)也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
四、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
五、注意事項:
(1)測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面
2. 如何通過Android CTS測試
通過Android CTS測試的方法步驟:
一、運行CTS的方法,步驟如下:
1、進入目錄android-cts,該目錄是通過上面那兩種方法獲得的。在android-cts目錄下會有3個文件夾,其中一個是tools。
2、進入tools目錄,輸入./startcts來啟動CTS。
3、如果運行成功會出現Android CTS version 2.3_r1的字樣(我的android的版本是2.3的)。如果有連接設備到PC上還會出現Device(設備ID)connected的字樣。這里設備可以是連接PC的android的機器,也可以是模擬器。
二、CTS測試的方法:
1、在cts_host>下敲入help,會顯示cts下的許多命令。ls –plan命令顯示google自帶的測試方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance這個方案是google暫不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
2、用命令ls -d來查看已連接的設備,CTS測試之前我們必須保證至少有一個設備連接上。
3、輸入命令start –plan CTS來執行CTS測試方案,該方案有兩萬多條測試項目,需要很長時間,因此除了第一次測試之外,不建議這么做。我做的都是針對某些包的測試。如果連接了多個設備的話需加上-d參數,後面跟上設備id來告訴CTS需要測試的設備。
4、對單獨一個包進行測試的方法:start –plan CTS –p 包名;推薦用這種方法來進行針對性的測試。需要知道有哪些包名,可以輸入命令:ls –plan CTS
5、也可以針對單獨一個case進行測試:start –plan CTS –test 類名#方法名
三、查看測試的結果:
測試生成的log在\android-cts\repository目錄下以log+測試時間.txt命名。測試報告在android-cts\repository\results目錄下,也是以測試時間命名。
四、注意事項:
測試前需要安裝一個apk:adb install -r android-cts/repository/testcases/.apk 然後在設置裡面
3. 如何通過Android CTS測試
解決方法:
1. 生成加密key文件:
將/android_src/development/tools/生成的key COPY到android\build\target\proct\security\
2. 編譯android源碼
重新編譯android源碼,此時out/.../system/app下就是重新編譯的APK
重新構建NFS掛載使用的根文件系統再次測試
3. 單個APK的簽名
重新測試時發現com.android.pts.browser包還是PASS不了,查看out/.../system/app/下的APK文件,發現在步驟2中,
out/.../system/app/PtsDeviceBrowserLauncher.apk沒有重新生成,還是原來的。
不知道為啥沒有重新生成? 我的解決方法是對此APK單獨簽名,將signapk.jar 及自簽名密匙,platform.pk8 platform.x509.pem COPY到下面路徑並
cd /out/target/proct/xxxx/obj/APPS/PtsDeviceBrowserLauncher_intermediates
文件位置:可以在platform/build/target/proct/security/中找到platform.pk8 platform.x509.pem等簽名文件,對應不同的許可權。
signapk.jar:由/platform/build/tools/signapk/編譯產出,可以在/out/host/linux-x86/framework/中找到。
然後運行下面命令 :
# java -jar signapk.jar platform.x509.pem platform.pk8 package.apk.unsigned PtsDeviceBrowserLauncher.apk
package.apk.unsigned 表示未簽名的該APK文件, 重新簽名後為PtsDeviceBrowserLauncher.apk //簽過名的APK重新簽名可能會出錯,最好找到未簽名的APK
其他參考:
簽名:
java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有對應許可權的APK
優化APK:
zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk
查循APK是否優化過:
zipalign -c -v 4 MyDemo.apk