AWS Device Farm での計測テストのトラブルシューティング - AWS Device Farm

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Device Farm での計測テストのトラブルシューティング

次のトピックでは、インストルメンテーションテストのアップロード中に発生するエラーメッセージを挙げ、各エラーを解決するための推奨回避策を示します。

注記

AWS Device Farm でインストルメンテーションテストを使用する際の重要な考慮事項については、「」を参照してくださいAndroid および AWS Device Farm 用のインストルメンテーション

INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

Warning: We could not open your test APK file. Please verify that the file is valid and try again.

エラーなしでテストパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は 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)

    詳細については、「Android および AWS Device Farm 用のインストルメンテーション」を参照してください。

INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

We could not extract information about your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after the command does not print any error.

アップロード検証プロセス中に、Device Farm は 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'

    詳細については、「Android および AWS Device Farm 用のインストルメンテーション」を参照してください。

INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

We could not find the instrumentation runner value in the AndroidManifest.xml. Please verify the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after finding the instrumentation runner value behind the keyword "instrumentation."

アップロードの検証プロセス中に、Device Farm はパッケージに含まれる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

    詳細については、「Android および AWS Device Farm 用のインストルメンテーション」を参照してください。

INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

We could not find the valid AndroidManifest.xml in your test package. Please verify that the test package is valid by running the command "aapt dump xmltree <path to your test package> AndroidManifest.xml", and try again after the command does not print any error.

アップロードの検証プロセス中に、Device Farm は、次のコマンドを使用して、パッケージに含まれる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")

    詳細については、「Android および AWS Device Farm 用のインストルメンテーション」を参照してください。

INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

We could not find the package name in your test package. Please verify that the test package is valid by running the command "aapt debug badging <path to your test package>", and try again after finding the package name value behind the keyword "package: name."

アップロード検証プロセス中に、Device Farm は 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'

    詳細については、「Android および AWS Device Farm 用のインストルメンテーション」を参照してください。