疑難排解 AWS 裝置伺服器陣列中的儀 - AWS Device Farm

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

疑難排解 AWS 裝置伺服器陣列中的儀

下列主題會列出在上傳檢測測試期間出現的錯誤訊息,並建議解決每個錯誤的解決方法。

INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED

如果您看到下列訊息,請依照以下步驟修復問題。

警告

無法開啟您的測試 APK 檔。請確認檔案是否有效,然後再試一次。

請確認您可以正確解壓縮測試套件。在下面的例子中,包的名稱是app-debug-androidTest-unaligned.apk

  1. 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ unzip app-debug-androidTest-unaligned.apk
  2. 成功解壓縮套件後,您可以透過執行下列命令找到樹狀結構的工作目錄:

    $ tree .

    有效的檢測測試套件將產生輸出如下:

    . |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- LICENSE-junit.txt |-- junit (directory) `-- META-INF (directory)

    如需詳細資訊,請參閱使用適用於安卓和 AWS Device Farm 的儀器

INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED

如果您看到下列訊息,請依照以下步驟修復問題。

警告

無法擷取測試套件的相關資訊。請執行命令「aapt debug badging <path to your test package>」,確認測試套件是否有效,並在命令未列印任何錯誤後再試一次。

在上傳驗證程序期間,裝置伺服器陣列會剖析輸出aapt debug badging <path to your package>指令。

請確認您可以在檢測測試套件上成功執行此命令。

在下面的例子中,包的名稱是app-debug-androidTest-unaligned.apk

  • 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ aapt debug badging app-debug-androidTest-unaligned.apk

    有效的檢測測試套件將產生輸出如下:

    package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' targetSdkVersion:'22' application-label:'Test-api' application: label='Test-api' icon='' application-debuggable uses-library:'android.test.runner' feature-group: label='' uses-feature: name='android.hardware.touchscreen' uses-implied-feature: name='android.hardware.touchscreen' reason='default feature for all apps' supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160'

    如需詳細資訊,請參閱使用適用於安卓和 AWS Device Farm 的儀器

INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

我們找不到儀器運行器的值AndroidManifest.xml。請執行指令「aapt 傾印 xmltree」來確認測試套件是否有效 <path to your test package>AndroidManifest.xml」,並在找到關鍵字「儀器」後面的儀器運行器值後再次嘗試。

在上傳驗證程序期間,裝置伺服器陣列會針對封裝中包含的 XML 檔案,剖析 XML 剖析樹狀結構中的檢測執行程式值。您可以使用下列命令:aapt dump xmltree <path to your package> AndroidManifest.xml

請確認您可以在檢測測試套件上執行此命令,並成功找到檢測值。

在下面的例子中,包的名稱是app-debug-androidTest-unaligned.apk

  • 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml | grep -A5 "instrumentation"

    有效的檢測測試套件將產生輸出如下:

    E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0

    如需詳細資訊,請參閱使用適用於安卓和 AWS Device Farm 的儀器

INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED

如果您看到下列訊息,請依照以下步驟修復問題。

警告

我們找不到有效的AndroidManifest.xml 在你的測試包中。請執行指令「aapt 傾印 xmltree」來確認測試套件是否有效 <path to your test package>AndroidManifest.xml「,並在命令不打印任何錯誤後再試一次。

在上傳驗證程序期間,裝置伺服器陣列會使用下列命令,從 XML 剖析樹狀結構剖析封裝中包含的 XML 檔案的資訊:aapt dump xmltree <path to your package> AndroidManifest.xml

請確認您可以在檢測測試套件上成功執行此命令。

在下面的例子中,包的名稱是app-debug-androidTest-unaligned.apk

  • 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ aapt dump xmltree app-debug-androidTest-unaligned.apk AndroidManifest.xml

    有效的檢測測試套件將產生輸出如下:

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: package="com.amazon.aws.adf.android.referenceapp.test" (Raw: "com.amazon.aws.adf.android.referenceapp.test") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=5) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: instrumentation (line=9) A: android:label(0x01010001)="Tests for com.amazon.aws.adf.android.referenceapp" (Raw: "Tests for com.amazon.aws.adf.android.referenceapp") A: android:name(0x01010003)="android.support.test.runner.AndroidJUnitRunner" (Raw: "android.support.test.runner.AndroidJUnitRunner") A: android:targetPackage(0x01010021)="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: android:handleProfiling(0x01010022)=(type 0x12)0x0 A: android:functionalTest(0x01010023)=(type 0x12)0x0 E: application (line=16) A: android:label(0x01010001)=@0x7f020000 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff E: uses-library (line=17) A: android:name(0x01010003)="android.test.runner" (Raw: "android.test.runner")

    如需詳細資訊,請參閱使用適用於安卓和 AWS Device Farm 的儀器

INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

如果您看到下列訊息,請依照以下步驟修復問題。

警告

在測試套件中找不到套件名稱。請執行命令「aapt debug badging <path to your test package>」,確認測試套件是否有效,然後在以關鍵字「package: name.」找到套件名稱值後再試一次。

在上傳驗證程序期間,裝置伺服器陣列會從下列命令的輸出剖析套件名稱值:aapt debug badging <path to your package>

請確認您可以在檢測測試套件上執行此命令,並成功找到套件名稱值。

在下面的例子中,包的名稱是app-debug-androidTest-unaligned.apk

  • 將您的測試套件複製到工作目錄,然後執行下列命令:

    $ aapt debug badging app-debug-androidTest-unaligned.apk | grep "package: name="

    有效的檢測測試套件將產生輸出如下:

    package: name='com.amazon.aws.adf.android.referenceapp.test' versionCode='' versionName='' platformBuildVersionName='5.1.1-1819727'

    如需詳細資訊,請參閱 使用適用於安卓和 AWS Device Farm 的儀器