裝置製造商可使用攝影機擴充功能驗證工具,確認攝影機擴充功能 OEM 供應商程式庫是否正確導入。這項工具包含自動和手動驗證測試。
自動驗證測試:驗證廠商程式庫介面是否正確導入。舉例來說,如果擷取圖片需要
CaptureProcessor
,測試會驗證ImageCaptureExtenderImpl#getCaptureStages()
是否傳回擷取圖片所需的CaptureStage
執行個體。手動驗證測試:驗證預覽和拍攝的圖片效果和品質。舉例來說,裝置製造商可透過這些測試手動驗證臉部修飾效果是否正確套用,或散景強度是否足夠。
驗證工具的原始碼是 擴充功能測試應用程式的一部分,位於 Android Jetpack 存放區。
建構相機擴充功能驗證工具
如要建構擴充功能驗證工具,請按照下列步驟操作:
下載 Android Jetpack 程式庫原始碼。詳情請參閱「Android Jetpack README」的「Checking out the Code」(查看程式碼)一節。
建構
extensionstestapp
APK。以利執行手動驗證測試。cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK 會輸出至下列路徑:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
建構
androidTest
APK。這個 APK 可執行自動驗證測試。cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
APK 會輸出至下列路徑:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
執行自動驗證測試
如要執行自動驗證測試,請安裝 extensionstestapp
和 androidTest
APK。
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
執行所有自動化測試
安裝 APK 後,如要執行所有自動化測試來驗證供應商程式庫實作,請執行下列指令:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
如果所有測試都通過,系統會傳回「OK」結果。否則,所有測試完成後,最終測試報告會在終端機中顯示失敗。
圖 1. 自動化測試結果為「OK」
圖 2. 自動化測試結果顯示失敗
執行特定類別的自動化測試
如要執行特定類別的自動化測試,請指定目標類別的名稱和路徑。以下範例顯示執行 ImageCaptureTest
類別測試的指令:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
執行手動驗證測試
手動驗證測試位於擴充功能測試應用程式中。安裝並啟動擴充功能測試應用程式後,請輕觸右上方的選單項目,切換至驗證工具模式。
切換至驗證工具模式後,第一頁會列出所有包含 REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
功能的攝影機。如果相機不支援任何擴充功能模式,對應的清單項目會顯示為灰色。
圖 3. 驗證工具模式
輕觸其中一個攝影機,即可查看要測試的擴充功能模式。所選攝影機不支援的擴充模式會顯示為灰色。
圖 4. 相機可用的擴充功能模式
驗證預覽結果
如要驗證預覽結果,請輕觸所選攝影機的擴充模式,開始手動測試。接著會顯示含有預覽畫面的圖片擷取活動。
圖 5. 啟用散景效果的預覽圖片
圖片擷取活動支援下列函式:
- 放大/縮小
- 輕觸對焦
- 閃光燈模式切換按鈕
- EV +/-
- 擴充功能啟用/停用切換按鈕
確認預覽畫面中的縮放、輕觸對焦、閃光燈模式和 EV +/- 功能是否正常運作。
驗證擷取的圖片結果
如要擷取圖片,請在圖片擷取活動中輕觸「擷取」按鈕 (圓形按鈕)。這會啟動圖片驗證活動,顯示擷取的圖片。
圖 6. 已擷取的圖片 (已啟用散景效果)
圖片驗證活動包含下列函式:
- 雙指撥動即可縮放圖片
- 向左/向右滑動即可切換拍攝的圖片
- 重新拍攝
- 儲存圖片選單項目
確認擷取的圖片是否正確,且符合擷取圖片時設定的縮放、輕觸對焦、閃光燈模式和 EV +/- 設定。
如果擷取的結果正確無誤,請輕觸右下角的「通過」按鈕 (勾號)。否則,請輕觸左下角的「FAIL」(失敗) 按鈕 (驚嘆號)。
查看測試結果
擴充模式通過或未通過驗證後,擴充模式的清單項目會顯示不同的背景顏色和指標。在所有攝影機的清單檢視畫面中,項目會以下列顏色顯示:
- 白色背景:相機支援至少一種擴充功能模式,但支援的擴充功能模式未完全通過驗證。
- 綠色背景:攝影機支援至少一種擴充模式。所有支援的擴充功能模式都會經過驗證,且所有結果都會通過驗證。
- 紅色背景:相機支援至少一種擴充模式。至少有一個擴充功能模式結果失敗,因此所有支援的擴充功能模式都會經過驗證。
- 灰色背景:這項功能無法使用。
圖 7. 顯示相機和擴充模式測試結果的顏色
其他驗證工具函式
所有測試完成後,攝影機清單活動會提供下列功能:
- 匯出測試結果:將測試結果匯出為 CSV 檔案,並儲存至
Documents/ExtensionsValidation
資料夾。 - 重設:清除所有快取的測試結果。
- 擴充功能範例應用程式:切換至擴充功能範例應用程式模式。
完成測試後,您可以匯出測試結果。如果發現問題,且需要再次驗證含有解決方案的供應商程式庫實作新版本,請重設先前的測試結果,並在所有攝影機上重新執行所有支援的擴充功能模式,確認問題已修正。