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.
-
Copiez votre package de test dans votre répertoire de travail, puis exécutez la commande suivante :
$ unzip app-debug.apk
-
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
, puis réessayez une fois que cette commande ne génère aucune erreur. <path to your test
package>
Pendant le processus de validation du téléchargement, AWS Device Farm analyse les informations issues de la sortie d'une aapt debug
badging
commande. <path to your package>
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
, puis réessayez après avoir trouvé la valeur du nom du package derrière le mot clé « package: name ».<path to your test
package>
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
commande.<path to your package>
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
, puis réessayez après avoir trouvé la valeur de SDK version associée au mot clé<path to your test
package>
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
commande.<path to your package>
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
, puis réessayez une fois que cette commande ne génère aucune erreur.<path to your test
package>
AndroidManifest.xml
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
et réessayez après vous être assuré que la sortie ne contient pas le mot clé <path to your test package>
AndroidManifest.xmlandroid.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
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).