GMS综述
GMS认è¯ï¼ä¸è¬è¦æ±æ们æä¾CTSï¼ XTSï¼ Verifyä¸ä»½æµè¯æ¥åï¼å¦ä¸å¾ï¼
Bin: 认è¯ç软件
CTSï¼ CTSçæµè¯æ¥å
GTS: XTSçæµè¯æ¥å
ctsVerifierReports: Verifyæµè¯æ¥å
CTS:
CTSï¼å
¨ç§°âCompatibility Test Suiteâï¼å³âå
¼å®¹æ§æµè¯å
âï¼ç认è¯ï¼è¿æ¯ä¸ç»ç¨ä»¥æµè¯ç.apkç¨åºä¹ç±»çéåï¼å®è½å¤å¨å®ç½ï¼http://source.android.com/compatibility/downloads.htmlï¼ä¸é¢å
è´¹ä¸è½½ãCTSçç®çå°±æ¯è®©Android设å¤ï¼å¦ï¼ææºï¼å¼ååè½å¤å¼ååºå
¼å®¹æ§æ´å¥½çAndroid设å¤ã GTS:
GMSå
¨ç§°ä¸ºGoogle Mobile Serviceï¼å³è°·æ移å¨æå¡ãGMSæ¯Googleå¼å并æ¨å¨Androidçå¨åï¼ä¹æ¯Androidç³»ç»ççµéæå¨ã Verify:
CTSé½æ¯æ令èªå¨æµè¯ï¼ä½æ¯è¿æä¸äºæµè¯æ¯å¿
é¡»æå¨å®æçï¼è¿ä¸ªæ¯verifyæµè¯å°±æ¯æå¨æµè¯ã
1.åå¤èµæï¼
GMS认è¯çè§é¢æ件âandroid-cts-media-1.0.zipï¼
使ç¨æ¹æ³ä¸ï¼
æ°å»ºtestæ件夹(å
æbbb_fullï¼bbb.shortï¼copy_media.shï¼make_zip.shï¼README.txt )ï¼ææºéæ·è´android-cts-media-1.0.zip解åå°testç®å½ä¸ï¼å¨ä¸æ¯æåå¨ç©ºé´çæ
åµä¸ï¼ä½¿ç¨Tå¡æ¿ä»£ï¼
使ç¨æ¹æ³äºï¼
è¿å
¥android-cts-media-1.1ç®å½ä¸ï¼æ§è¡ï¼
. /copy_media.sh allï¼æ./copy_media.sh
å°±å¯ä»¥æè§é¢å¤å¶ææºä¸äºï¼é常çæ¹ä¾¿åå¿«ã android-ctsæ件
解åandroid-cts-4.4_r1-linux_x86-arm.zip CtsDeviceadmin.apk
æ¤apkä½äºï¼android-cts epository estcasesï¼ç®å½ä¸ android-gtsæ件
解ågts-2.1_r1.zip CtsVerifier.apk
( 解åandroid-cts-verifier-4.4_r3-linux_x86-arm.zip)
è¿äºèµæå¯ä»¥ä»å®ç½ä¸ä¸è½½ï¼
http://source.android.com/compatibility/downloads.html(å®ç½)
ä¹å¯ä»¥æ¯å®¢æ·æä¾ã
2.ææºç«¯åå¤
Need insert empty SD card Insert valid SIM card 设置ææºè¯è¨ä¸ºè±è¯ï¼è¿å
¥SettingsâLanguage&inputâLanguage设为English(UnitedStates) è¾å
¥æ³é»è®¤ä½¿ç¨androidè¾å
¥æ³ï¼SettingsâLanguage&inputâDefaultâEnglish(US) ææºè½¯ä»¶éæ¯Userçæ¬(请ç¨adb remountå½ä»¤æ¥ç)ï¼éåIMEI(请æ*#06#æ¥ç)ãMACç (settingsâabout phonâstatuâwlan mac address) å»æéå±(Settings âSecurity âScreen lockânone ) 设置å±å¹è¶
æ¶ä¸ºæé¿æ¶é´30åé(SettingsâDisplayâSleepâ30minutes) è¿å
¥SettingsâDate & timeâåæ¶Automatic date&timeå¾éï¼åæ¶Automatic time zone å¾éï¼ Select time zoneï¼éæ©GMT-8:00 Pacific Time (注ï¼å½å®è¡å¤ä»¤æ¶åï¼Pacific Timä¼åæGMT-7:00) æå¼developer options,SettingsâAbout phoneâå¿«éç¹å»Build number 7次 Settingsâdeveloper optionsâstay awake and usb debugging allow mock locations å¾é æå¼WIFI并è¿æ¥APï¼éè¦å¯ç¿»å¢çç½ç»ï¼å 为æµè¯è¿ç¨ä¸éè¦è¿æ¥googleçæå¡å¨ï¼ æå¼èçï¼SettingsâBluetooth æå¼GPSï¼SettingsâLocationâå¼å¯ æå¼æ°æ®è¿æ¥ï¼ä¸æç¶ææ âéä¸Data on å®è£
CtsDeviceadmin.apk
å¯ä»¥å¤å¶å°sdå¡ä¸åå®è£
ï¼ä¹å¯ä»¥ä½¿ç¨å½ä»¤å®è£
ï¼adb install â/home/android/CTS_hexiaoming/hexiaoming/CtsDeviceAdmin.apkâ å°testæ件夹å¤å¶å°sdå¡ä¸ï¼ä¹å¯ä»¥ä½¿ç¨å½ä»¤ï¼
adb push â/home/android/CTS_hexiaoming/hexiaoming/testâ /sdcard/test
ï¼æè
è¿å
¥å°android-cts-media-1.1ç®å½ä¸ï¼æ§è¡ï¼
. /copy_media.sh allï¼æ./copy_media.shï¼ SettingsâSecurityâDevice administratorsâå¾éä¸ device administratorså表åä¸ä¸ªé项ï¼æåä¸ä¸ªä¸å¾é è¿è¡æ¶è®©å±å¹æ¯home主çé¢ä¸ è¿è¡è¿ç¨ä¸ä¸è¦è§¦æ¸å±å¹åæé®
注æï¼
- While a device is running tests, it must not be used for any other tasks
- Before start CTS, device at the home screen
- Do not press any keys on the device while CTS is running
- Make sure the AP is usability and connectedly.
- Make sure USB cable is stability
3.PC端ï¼(Ubuntuç³»ç»)
3.1 CTSæµè¯
android-ctsæ件(解å)
1. ç¨USB线è¿æ¥Linux PC
2.æå¼ç»ç«¯ï¼è¿å
¥android-cts/toolsç®å½ï¼è¾å
¥./cts-tradefed.ç»ç«¯æ¾ç¤ºï¼
(å¦æ没æè¿è¡ï¼è¯´æ设å¤æ²¡æåPCè¿é)
3.è¾å
¥run ctsâplan CTS,å¼å§æµè¯CTS
4.æµè¯å®æåä¼èªå¨çæxmlæ¥è¡¨ï¼å¨anroid-cts/repositZhttp://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcnkvcmVzdWx0c8S/wrzW0Ch0ZXN0UmVzdWx0LnhtbCkuPGJyIC8+DQo1LkxPR9DFz6LU2sS/wrzPwqO6KGFuZHJvaWQtY3RzIGVwb3NpdG9yeWxvZ3MpPC9wPg0KPHA+PHN0cm9uZz7Su7Djx+m/9qOsQ1RTsuLK1NK7tM6yu8TcyKuyv82ouf2jrMTHw7TI57rO1ruy4srURmFpbM/uwcujvzwvc3Ryb25nPjwvcD4NCsrWtq/Q3rjEdGVzdFJlc3VsdC54bWyjrMq508NnZWRpdLTyv6q4w87EvP4oZ2VkaXQgdGVzdFJlc3VsdC54bWwpoaMNCjxwPtGh1PGy6dXSy9HL92ZhaWxlZM/uo6zM5ru7zqpub3RFeGVjdXRlZKOsyLu687GjtOajrMjnzbyjujxiciAvPg0KPGltZyBhbHQ9"è¿éåå¾çæè¿°" src="http://www.2cto.com/uploadfile/Collfiles/20150728/2015072808544242.png" title="/" />
éæ°è¾å
¥./cts-tradefedcts-tf-> run ctsâcontinue-session session_id
PS: session_idå¯ä»¥éè¿å¨CTSå½ä»¤è¡éè¾å
¥l ræ¥çå°ãæ¯å¦è¾å
¥l ræ¥çå°çsession_id为0é£å°±åºè¯¥å¨CTSçå½ä»¤è¡è¾å
¥ run cts âcontinue-session 0è¿æ ·å°±ä¼åªä¼ç»§ç»æµè¯é£äºä¹åfailç项èä¸ä¼å»æµè¯é£äºå·²ç»passç项
æ们å¦ä½ä¿®æ¹æ¥å
对äºæçæµè¯é¡¹ï¼æ们没æç¯å¢ï¼è¿ä¸äºãä½æ¯æ们å¯ä»¥ç¡®å®æ¤é¡¹å¯ä»¥passï¼é£ä¹æ们å¯ä»¥ç´æ¥ä¿®æ¹æ¥åï¼
æ们å¨æ¹æ¥åçæ¶åï¼åèè¦ä¿®æ¹çæµè¯é¡¹çåä¸ä¸ªpass项ååä¸ä¸ªpass项ï¼å¯¹åºä¿®æ¹å°±å¯ä»¥äºï¼é常çç®åãä¿®æ¹åï¼æ们å让å
¶éæ°è·ä¸ä¸ï¼çææ°çæµè¯æ¥åå°±å¯ä»¥ã
å¦æï¼æ们åç¬è·å
æç±»ï¼
To run a test package:
ârun cts âpackage â
run cts -p android.os
To run a test class:
ârun cts âclass â
run cts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures
run cts -c android.os.cts.Asyn
æ¥çæ´å¤ctså½ä»¤ä¿¡æ¯ï¼
ârun cts âhelpâ
l pââââæ¥çæé£äºåè½
l packagesââæ¥çæé£äºå
注æäºé¡¹ï¼
1.CTS 4.0çå½ä»¤åCTS 2.3/2.3å®å
¨ä¸åï¼æ以å¨è¿å
¥CTSåï¼å
è¾å
¥helpççå½ä»¤çæ ¼å¼åææã
2.æ£å¸¸æµè¯ä¸æ¬¡CTS4.0ï¼éè¦6-9å°æ¶ãæ以ï¼æµè¯æ¶è¯·æ¥ä¸çµæºï¼å¹¶å°½éå¨æä¸æµè¯ï¼ä¸ä¼å½±å设å¤ç使ç¨
3.CTSæ¯èªå¨åæµè¯ï¼æµè¯è¿ç¨ä¸ä¸éè¦äººçå¹²é¢ãå¦æå¨ä¸çæ¶é´ï¼æ¯1ï¼2å°æ¶è§å¯ä¸å³å¯
4.CTS4.0å¨æµè¯è¿ç¨ä¸æå¼ãç»æ¢é½ä¸ä¼çææµè¯æ¥åï¼æ以ï¼æµè¯åè¦ä¿è¯USBè¿æ¥ç¨³å®åå¹³å°è®¾ç½®
5.CTSæ§è¡run ctsâplan CTSæ¶ï¼ä¼æç´¢android-cts/repository/resultsä¸çåå²æ¥è¡¨æ件夹ãå¦ææ件æå¾å¤ï¼å¯å¨é度ä¼é常æ
¢ãæ以ï¼è¯·å®ææ¸
çresultsæ件夹ä¸çåå²æ¥è¡¨ï¼ç´æ¥å é¤æ¥è¡¨æ件夹å³å¯ï¼
常è§é®é¢ï¼
ææ¶ï¼å¤å¶ä¼å¯¼è´ä¸äºæéé®é¢ï¼è¿æ¶ï¼æ们å¯ä»¥è¿è¡sudo chmod 0777 filenameæ¥æé«æéã CTSæµè¯ å¿«éå
¥é¨â-MTKâé常éè¦
https://onlinesso.mediatek.com/_layouts/15/mol/topic/ext/Topic.aspx?id=53
3.2 XTSæµè¯ï¼
android-gtsæ件(解ågts-2.1_r1.zip)
XTSæµè¯åCTSæ¯ä¸æ ·çï¼åªæ¯è¦æå½ä»¤ç¨å¾®å¯¹åºçæ¹ä¸ä¸å°±å¯ä»¥äºï¼
run xtsâplan XTS
run xtsâcontinue-session session_id
run xts -p android.os
run xts -c android.app.cts.SystemFeaturesTest -m testSensorFeatures
3.3 æå¨æµè¯ CTS-verifier:
CtsVerifier.apkâ-( 解åandroid-cts-verifier-4.4_r3-linux_x86-arm.zip)
è¿ä¸ªæ¯æå¨æµè¯ï¼æ们åªéè¦å®è£
æ¤apkï¼ç¶åæç
§è¯´æä¸æ¥ä¸æ¥æä½å°±å¯ä»¥äºãæåï¼æ们导åºæ¥åã
注æçäºæ ï¼
è¿ä¸ªæµè¯è¿æ¯ææµè¯é¡ºåºçï¼ä¸è¬Policy Serialization Test è¿ä¸ªæµè¯é¡¹æåä¸ä¸ªæµè¯ï¼å 为æ¤é¡¹ä¼å¯¼è´åé¢çKeyguard Password Verification项è¿ä¸äºãæ们å¯ä»¥ä¸å¼å§å°±æµè¯Keyguard Password Verificationï¼æåä¸ä¸ªæµè¯Policy Serialization Testã Cameraçæµè¯é¡¹ï¼æ们è¦ä¸ä¸ªä¸ä¸ªæµè¯ï¼ä¸è½ç´æ¥æpassç´æ¥è¿ï¼å°±æ¯å 为æµè¯çæ¥åéæè¿äºæµè¯é¡¹ç详ç»ä¿¡æ¯ã å¨æµè¯Accelerometer Measurement Tests项åï¼æ们å¨settingsâSoundâDefault notification soundéæ©ä¸ä¸ªé»è®¤å¼ï¼å¦åæå¯è½å 为æ¤æ²¡æ设置ï¼apkä¼crashï¼æ¤é¡¹è¿ä¸äºã Streaming Video Quality Verifieræµè¯é¡¹ä¸ï¼RTSPçä¸é¡¹ï¼æwifiçè¯å¯ä»¥è¿ï¼ä½æ¯HTTP PROGRESSIVEçä¸é¡¹æ¯è¿ä¸äºçãä¹å°±æ¯è¯´Streaming Video Quality Verifieræµè¯é¡¹æ¯è¿ä¸äºçï¼è¿æ¯æ£å¸¸çç°è±¡ã
USB Accessory Testææ¶åæ§è¡å½ä»¤ï¼æ¯æ²¡æææï¼è¿ä¸ªæå¯è½æ¯çµèçåå ï¼æ¢å°çµèå¤è¯å 次ã
USB Accessory Test in CTS Verifier, Please follow up below steps to test this item:
1) Install CTSVerifier.apk to the phone device.
2) Add â18d1:2d01â device to /etc/udev/rules.d/51-android.rules, and restart
About add â18d1:2d01â device to /etc/udev/rules.d/51-android.rules,
Please hlep to refer SOP part of âSetup CTS Environment (3/4)â
Ubuntu 10.4
New a udev configuration file for the usb and change the mode
sudo touch /etc/udev/rules.d/51-android.rules
sudo chmod a+rw /etc/udev/rules.d/51-android.rules
Add the below string in 51-android-rules to setup the USB
SUBSYSTEM==âusbâ, ATTRS{idVendor}==â0bb4â, ATTRS{idProduct}==â0c03â, MODE=â0666â
Restart the udev service to update the configuration
sudo restart udev
Restart the Ubuntu
After connecting the Android device to the PC, type lsusb and you should see the below string if the connection is success:
example:
Bus 002 Device 002: ID 0bb4:0c03 High Tech Computer Corp.
3) Connect the phone to a linux pc, with adb enabled
4) Run cts-usb-accessory on linux PC, wait until âFound android device in accessory mode (18d1:2d01)
5) Device will pop a prompt to cts-verifier, start the CTS Verifier and run USB Accessory test.
6) make sure no other devices connnect to the PC.
Bluetooth Testæµè¯é¡¹ï¼æ¯è¾éè¦æ¶é´åèå¿ï¼è¦æ ¢æ ¢æ¥æä½ãç¹å«æ¯BLE Client Testæµè¯é¡¹æ´æ¯å¦æ¤ãæ们æµè¯æ¤é¡¹æ¶ï¼å¯ä»¥å è®°ä¸macå°å(å¯ä»¥åä¸äºç®åçmacå°åï¼å¦(11:11:11:11:11:11) macå°åè¦åºå大å°åï¼è¿ä¸ªä¹è¦æ³¨æ)ï¼è¿æ¯å 为æ¤é¡¹ä¸è¬è¦æµå¥½å¤æ¬¡æè½passï¼æ¯æ¬¡é½è¦æ±ä»å¤´å¼å§ï¼æ¯æ¬¡é½è¦è¾å ¥macå°åãæ ¹æ®æµè¯ç»éªï¼ä¸è¬4.BLE Reliable Write è¿ä¸ªææ¯æ¤æµè¯è½å¦éè¿çå ³é®ï¼æä¸è¬æ¯4.BLE Reliable Writeå¨åæ°ç¬¬äºæ¥æ¥æµè¯ï¼å¹¶ä¸å¤è¾å ¥å 次信æ¯(请ä¸è¦æ¯æ¬¡åªè¾å ¥ä¸ä¸ªåæ¯)ï¼ç´å°å¦ä¸é¨ææºçWaiting on reliable write from clientæµè¯é¡¹æ¾ç¤ºç»¿è²ï¼ææåæ§è¡8.BLE Client Disconnectå°±å¯ä»¥éè¿æ¤é¡¹æµè¯ã
data backup testæµè¯é¡¹ï¼
é¦å
å¨cts verifierä¸é便è¿è¡ä¸é¡¹æµè¯ï¼æå¼è®¾ç½®ä¸çå¤ä»½åæ¢å¤ï¼ç¹å» generate test data->ok
ããadb shell bmgr enable true
ããadb shell bmgr transport android/com.android.internal.backup.LocalTransport
ããadb shell bmgr run
ããadb uninstall com.android.cts.verifier
ããadb install F:CTS4.0CTS4.0.3_r2apk4.0.3_r2CtsVerifier_4.0.3_r1.apk
æµè¯å®ï¼æ们使ç¨adb pushå½ä»¤å°æµè¯æ¥å导åºå°±å¯ä»¥äºã
adb pull /sdcard/ctsVerifierReports /home/android/tmp
3.4 æµè¯ç»æçä¸äºæ³¨æï¼
æµè¯ç»æ表头çé®é¢ï¼å¨ææ¡£ä¸è¦æ±CTSåGTSä¸ç设å¤ä¿¡æ¯çBuild Fingerprintä¸çç¾åæ件类åæ¯release-keyï¼ä¹å°±æ¯è¯´ï¼æ们æµè¯ç软件çæ¬çç¾åè¦ä½¿ç¨release-keyï¼å¦ä¸å¾æ示ï¼
å¨ææ¡£ä¸è¦æ±GTS项çæµè¯ç»æä¸çPropertieså±æ§åºè¯¥å æ¬ro.com.google.gmsversionãro.com.google.clientidbaseï¼å¹¶ä¸æç客æ·å¯¹ro.com.google.clientidbaseçååæ¯æè¦æ±çãå¦ä¸å¾ï¼å°±ç¼ºå°ro.com.google.clientidbaseç项ã
4 Fail项çå¤ç
ç»é«éæcase,ç»MTKæeserviceï¼å 为è¿ä¸ªä¸è¬èªå·±è½è§£çæ¯è¾å°ï¼ä¸»è¦è¿æ¯è¦é é«éåMTKæ¥è§£ã æ ¢æ ¢ç§¯ç´¯èªå·±çfailé¡¹åº æ ¢æ ¢ç§¯ç´¯èªå·±å¤çfail项çè½å