Fehlerbehebung bei Instrumentierungstests in AWS Device Farm - AWS Device Farm

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei Instrumentierungstests in AWS Device Farm

Im folgenden Thema werden Fehlermeldungen aufgeführt, die beim Hochladen von Instrumentierungstests auftreten können, und Umgehungen für die einzelnen Fehler empfohlen.

INSTRUMENTATION_TEST_PACKAGE_UNZIP_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Ihre APK-Datei für den Test konnte nicht geöffnet werden. Prüfen Sie, ob die Datei gültig ist, und versuchen Sie es erneut.

Stellen Sie sicher, dass Sie das Paket für den Test fehlerfrei dekomprimieren können. Im folgenden Beispiel lautet der Name des Paketsapp-debug-androidTest-unaligned.apk.

  1. Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

    $ unzip app-debug-androidTest-unaligned.apk
  2. Nachdem Sie das Paket erfolgreich extrahiert haben, können Sie die Baumstruktur für das Arbeitsverzeichnis anzeigen, indem Sie den folgenden Befehl ausführen:

    $ tree .

    Bei einem gültigen Instrumentierungstestpaket sieht die Ausgabe wie folgt aus:

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

    Weitere Informationen finden Sie unter Arbeiten mit Instrumentierung für Android und AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DEBUG_BADGING_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten keine Informationen zu Ihrem Testpaket extrahieren. Überprüfen Sie mit dem Befehl "aapt debug badging <Pfad zu Ihrem Testpaket>", ob das Testpaket gültig ist, und versuchen Sie es erneut, wenn der Befehl keine Fehler zurückgibt.

Während des Upload-Validierungsprozesses analysiert Device Farm Informationen aus der Ausgabe vonaapt debug badging <path to your package>Befehl.

Stellen Sie sicher, dass Sie diesen Befehl erfolgreich für Ihr Instrumentierungstestpaket ausführen können.

Im folgenden Beispiel lautet der Name des Paketsapp-debug-androidTest-unaligned.apk.

  • Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

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

    Bei einem gültigen Instrumentierungstestpaket sieht die Ausgabe wie folgt aus:

    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'

    Weitere Informationen finden Sie unter Arbeiten mit Instrumentierung für Android und AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_INSTRUMENTATION_RUNNER_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten den Wert für Instrumentation Runner nicht in derAndroidManifest.xml. Bitte überprüfen Sie, ob das Testpaket gültig ist, indem Sie den Befehl „aapt dump xmltree“ ausführen <path to your test package>AndroidManifest.xml“, und versuchen Sie es erneut, nachdem Sie den Instrumentierungs-Runner-Wert hinter dem Schlüsselwort „Instrumentation“ gefunden haben.

Während der Upload-Validierung analysiert Device Farm den Instrumentation Runner-Wert aus dem XML-Analysebaum für eine XML-Datei, die im Paket enthalten ist. Sie können folgenden Befehl verwenden: aapt dump xmltree <path to your package> AndroidManifest.xml.

Stellen Sie sicher, dass Sie diesen Befehl für Ihr Instrumentierungstestpaket ausführen und den Instrumentierungswert erfolgreich finden können.

Im folgenden Beispiel lautet der Name des Paketsapp-debug-androidTest-unaligned.apk.

  • Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

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

    Bei einem gültigen Instrumentierungstestpaket sieht die Ausgabe wie folgt aus:

    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

    Weitere Informationen finden Sie unter Arbeiten mit Instrumentierung für Android und AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_AAPT_DUMP_XMLTREE_FAILED

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Wir konnten das gültige nicht findenAndroidManifest.xml in Ihrem Testpaket. Bitte überprüfen Sie, ob das Testpaket gültig ist, indem Sie den Befehl „aapt dump xmltree“ ausführen <path to your test package>AndroidManifest.xml“, und versuchen Sie es erneut, wenn der Befehl keinen Fehler ausgibt.

Während der Upload-Validierung analysiert Device Farm mithilfe des folgenden Befehls Informationen aus der XML-Analysestruktur nach einer im Paket enthaltenen XML-Datei:aapt dump xmltree <path to your package> AndroidManifest.xml.

Stellen Sie sicher, dass Sie diesen Befehl erfolgreich für Ihr Instrumentierungstestpaket ausführen können.

Im folgenden Beispiel lautet der Name des Paketsapp-debug-androidTest-unaligned.apk.

  • Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

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

    Bei einem gültigen Instrumentierungstestpaket sieht die Ausgabe wie folgt aus:

    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")

    Weitere Informationen finden Sie unter Arbeiten mit Instrumentierung für Android und AWS Device Farm.

INSTRUMENTATION_TEST_PACKAGE_TEST_PACKAGE_NAME_VALUE_MISSING

Wenn die folgende Meldung angezeigt wird, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

Warnung

Der Paketname konnte in Ihrem Testpaket nicht gefunden werden. Überprüfen Sie, ob das Testpaket gültig ist, indem Sie den Befehl "aapt debug badging <Pfad zu Ihrem Testpaket>" ausführen, und wiederholen Sie den Vorgang, nachdem Sie den Wert für den Paketnamen gefunden haben, der dem Schlüsselwort "package: name" folgt.

Während der Upload-Validierung analysiert Device Farm den Wert des Paketnamens aus der Ausgabe des folgenden Befehls:aapt debug badging <path to your package>.

Stellen Sie sicher, dass Sie diesen Befehl für Ihr Instrumentierungstestpaket ausführen und den Wert für den Paketnamen erfolgreich finden können.

Im folgenden Beispiel lautet der Name des Paketsapp-debug-androidTest-unaligned.apk.

  • Kopieren Sie das Testpaket in Ihr Arbeitsverzeichnis und führen Sie dann den folgenden Befehl aus:

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

    Bei einem gültigen Instrumentierungstestpaket sieht die Ausgabe wie folgt aus:

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

    Weitere Informationen finden Sie unter Arbeiten mit Instrumentierung für Android und AWS Device Farm.