Résolution des problèmes liés aux tests d'applications Android dans AWS Device Farm - AWS Device Farm

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés aux tests d'applications Android dans AWS Device Farm

La rubrique suivante répertorie les messages d'erreur qui s'affichent pendant le chargement des tests d'applications Android et recommande des solutions permettant de résoudre chaque erreur.

Note

Les instructions ci-dessous sont basées sur Linux x86_64 et Mac.

ANDROID_APP_UNZIP_FAILED

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Impossible d'ouvrir votre application. Vérifiez que le fichier est valide et réessayez.

Assurez-vous que vous pouvez décompresser le package de l'application sans erreurs. Dans l'exemple suivant, le nom du package est app-debug.apk.

  1. Copiez votre package de test dans votre répertoire de travail, puis exécutez la commande suivante :

    $ unzip app-debug.apk
  2. Pour trouver la structure arborescente du répertoire de travail une fois le package décompressé, exécutez la commande suivante :

    $ tree .

    Un package d'application Android valide doit générer une sortie similaire à la suivante :

    . |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- assets (directory) |-- res (directory) `-- META-INF (directory)

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

ANDROID_APP_AAPT_DEBUG_BADGING_FAILED

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Impossible d'extraire des informations sur votre application. Vérifiez que l'application est valide en exécutant la commande aapt debug badging <path to your test package>, puis réessayez une fois que cette commande ne génère aucune erreur.

Pendant le processus de validation du téléchargement, AWS Device Farm analyse les informations issues de la sortie d'une aapt debug badging <path to your package> commande.

Assurez-vous que vous pouvez exécuter avec succès cette commande sur votre application Android. Dans l'exemple suivant, le nom du package est app-debug.apk.

  • Copiez le package de votre application dans votre répertoire de travail, puis exécutez la commande :

    $ aapt debug badging app-debug.apk

    Un package d'application Android valide doit générer une sortie similaire à la suivante :

    package: name='com.amazon.aws.adf.android.referenceapp' versionCode='1' versionName='1.0' platformBuildVersionName='5.1.1-1819727' sdkVersion:'9' application-label:'ReferenceApp' application: label='ReferenceApp' icon='res/mipmap-mdpi-v4/ic_launcher.png' application-debuggable launchable-activity: name='com.amazon.aws.adf.android.referenceapp.Activities.MainActivity' label='ReferenceApp' icon='' uses-feature: name='android.hardware.bluetooth' uses-implied-feature: name='android.hardware.bluetooth' reason='requested android.permission.BLUETOOTH permission, and targetSdkVersion > 4' main supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' densities: '160' '213' '240' '320' '480' '640'

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

ANDROID_APP_PACKAGE_NAME_VALUE_MISSING

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Impossible de trouver la valeur du nom du package à l'intérieur de votre application. Veuillez vérifier que l'application est valide en exécutant la commande aapt debug badging <path to your test package>, puis réessayez après avoir trouvé la valeur du nom du package derrière le mot clé « package: name ».

Pendant le processus de validation du téléchargement, AWS Device Farm analyse la valeur du nom du package à partir de la sortie d'une aapt debug badging <path to your package> commande.

Assurez-vous que vous pouvez exécuter cette commande sur votre application Android et trouver la valeur du nom du package avec succès. Dans l'exemple suivant, le nom du package est app-debug.apk.

  • Copiez le package de votre application dans votre répertoire de travail, puis exécutez la commande suivante :

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

    Un package d'application Android valide doit générer une sortie similaire à la suivante :

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

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

ANDROID_APP_SDK_VERSION_VALUE_MISSING

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Nous n'avons pas trouvé la valeur de SDK version dans votre application. Vérifiez que l'application est valide en exécutant la commandeaapt debug badging <path to your test package>, puis réessayez après avoir trouvé la valeur de SDK version associée au mot clésdkVersion.

Pendant le processus de validation du téléchargement, AWS Device Farm analyse la valeur de SDK version à partir de la sortie d'une aapt debug badging <path to your package> commande.

Assurez-vous que vous pouvez exécuter cette commande sur votre application Android et trouver la valeur du nom du package avec succès. Dans l'exemple suivant, le nom du package est app-debug.apk.

  • Copiez le package de votre application dans votre répertoire de travail, puis exécutez la commande suivante :

    $ aapt debug badging app-debug.apk | grep "sdkVersion"

    Un package d'application Android valide doit générer une sortie similaire à la suivante :

    sdkVersion:'9'

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

ANDROID_APP_AAPT_DUMP_XMLTREE_FAILED

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Nous n'avons pas trouvé le AndroidManifest fichier .xml valide dans votre application. Vérifiez que le package de test est valide en exécutant la commande aapt dump xmltree <path to your test package> AndroidManifest.xml, puis réessayez une fois que cette commande ne génère aucune erreur.

Pendant le processus de validation du téléchargement, AWS Device Farm analyse les informations de l'arbre d'XMLanalyse pour un XML fichier contenu dans le package à l'aide de la commande. aapt dump xmltree <path to your package> AndroidManifest.xml

Assurez-vous que vous pouvez exécuter avec succès cette commande sur votre application Android. Dans l'exemple suivant, le nom du package est app-debug.apk.

  • Copiez le package de votre application dans votre répertoire de travail, puis exécutez la commande suivante :

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

    Un package d'application Android valide doit générer une sortie similaire à la suivante :

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: android:versionCode(0x0101021b)=(type 0x10)0x1 A: android:versionName(0x0101021c)="1.0" (Raw: "1.0") A: package="com.amazon.aws.adf.android.referenceapp" (Raw: "com.amazon.aws.adf.android.referenceapp") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=7) A: android:minSdkVersion(0x0101020c)=(type 0x10)0x9 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: uses-permission (line=11) A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET") E: uses-permission (line=12) A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

ANDROID_APP_DEVICE_ADMIN_PERMISSIONS

Si le message suivant s'affiche, procédez comme suit pour corriger le problème.

Avertissement

Nous avons constaté que votre application nécessitait des autorisations d'administration d'appareil. Vérifiez que les autorisations ne sont pas requises par l'exécution de la commande aapt dump xmltree <path to your test package> AndroidManifest.xml et réessayez après vous être assuré que la sortie ne contient pas le mot clé android.permission.BIND_DEVICE_ADMIN.

Au cours du processus de validation du téléchargement, AWS Device Farm analyse les informations d'autorisation issues de l'arbre d'analyse XML pour un fichier XML contenu dans le package à l'aide de la commande. aapt dump xmltree <path to your package> AndroidManifest.xml

Assurez-vous que votre application ne nécessite pas d'autorisation d'administration d'appareil. Dans l'exemple suivant, le nom du package est app-debug.apk.

  • Copiez le package de votre application dans votre répertoire de travail, puis exécutez la commande suivante :

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

    Vous devriez obtenir une sortie similaire à ce qui suit :

    N: android=http://schemas.android.com/apk/res/android E: manifest (line=2) A: android:versionCode(0x0101021b)=(type 0x10)0x1 A: android:versionName(0x0101021c)="1.0" (Raw: "1.0") A: package="com.amazonaws.devicefarm.android.referenceapp" (Raw: "com.amazonaws.devicefarm.android.referenceapp") A: platformBuildVersionCode=(type 0x10)0x16 (Raw: "22") A: platformBuildVersionName="5.1.1-1819727" (Raw: "5.1.1-1819727") E: uses-sdk (line=7) A: android:minSdkVersion(0x0101020c)=(type 0x10)0xa A: android:targetSdkVersion(0x01010270)=(type 0x10)0x16 E: uses-permission (line=11) A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET") E: uses-permission (line=12) A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA") ……

    Si l'application Android est valide, la sortie ne doit pas contenir ce qui suit : A: android:name(0x01010003)="android.permission.BIND_DEVICE_ADMIN" (Raw: "android.permission.BIND_DEVICE_ADMIN").

    Pour de plus amples informations, veuillez consulter Tests Android dans AWS Device Farm.

Certaines fenêtres de mon application Android affichent un écran vide ou noir

Si vous testez une application Android et que vous remarquez que certaines fenêtres de l'application apparaissent avec un écran noir dans l'enregistrement vidéo de votre test par Device Farm, cela signifie que votre application utilise peut-être la FLAG_SECURE fonctionnalité Android. Ce drapeau (tel que décrit dans la documentation officielle d'Android) est utilisé pour empêcher l'enregistrement de certaines fenêtres d'une application par les outils d'enregistrement d'écran. Par conséquent, la fonction d'enregistrement d'écran de Device Farm (pour l'automatisation et les tests d'accès à distance) peut afficher un écran noir à la place de la fenêtre de votre application si celle-ci utilise cet indicateur.

Ce drapeau est souvent utilisé par les développeurs pour les pages de leur application contenant des informations sensibles telles que les pages de connexion. Si vous voyez un écran noir à la place de l'écran de votre application sur certaines pages, comme sa page de connexion, demandez à vos développeurs d'obtenir une version de l'application qui n'utilise pas cet indicateur pour les tests.

Notez également que Device Farm peut toujours interagir avec les fenêtres d'applications dotées de cet indicateur. Ainsi, si la page de connexion de votre application apparaît sous forme d'écran noir, vous pourrez peut-être toujours saisir vos informations d'identification pour vous connecter à l'application (et ainsi afficher les pages non bloquées par le FLAG_SECURE drapeau).