As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Solução de problemas em testes de aplicativos Android no AWS Device Farm
O tópico a seguir lista mensagens de erro que ocorrem durante o upload de testes de aplicativos Android e recomenda soluções para resolver cada erro.
nota
As instruções a seguir baseiam-se no Linux x86_64 e Mac.
ANDROID_APP_UNZIP_FAILED
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Não conseguimos abrir seu aplicativo. Verifique se o arquivo é válido e tente novamente.
Verifique se você consegue descompactar o pacote de aplicativos sem erros. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote de testes para seu diretório de trabalho e execute o comando a seguir:
$ unzip app-debug.apk
-
Assim que conseguir descompactar o pacote, você poderá encontrar a estrutura de árvore do diretório de trabalho executando o seguinte comando:
$ tree .
Um pacote de aplicativos Android válido deve gerar um resultado semelhante ao seguinte:
. |-- AndroidManifest.xml |-- classes.dex |-- resources.arsc |-- assets (directory) |-- res (directory) `-- META-INF (directory)
Para obter mais informações, consulte Testes de Android no AWS Device Farm.
ANDROID_APP_AAPT_DEBUG_BADGING_FAILED
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Não foi possível extrair informações sobre seu aplicativo. Para verificar se o aplicativo é válido, execute o comando aapt debug badging
e tente novamente se o comando não imprimir nenhum erro. <path to your test
package>
Durante o processo de validação do upload, AWS o Device Farm analisa as informações da saída de um aapt debug
badging
comando. <path to your package>
Verifique se você consegue executar esse comando com êxito em seu aplicativo Android. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote do aplicativo para seu diretório de trabalho e, em seguida, execute o comando:
$ aapt debug badging app-debug.apk
Um pacote de aplicativos Android válido deve gerar um resultado semelhante ao seguinte:
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'
Para obter mais informações, consulte Testes de Android no AWS Device Farm.
ANDROID_APP_PACKAGE_NAME_VALUE_MISSING
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Não foi possível encontrar o valor do nome do pacote em seu aplicativo. Para verificar se o aplicativo é válido, execute o comando aapt debug badging
e tente novamente depois de encontrar o valor no nome do pacote subjacente à palavra-chave "package: name".<path to your test
package>
Durante o processo de validação do upload, AWS o Device Farm analisa o valor do nome do pacote a partir da saída de um aapt debug badging
comando.<path to your package>
Verifique se você consegue executar esse comando com êxito em seu aplicativo Android e encontrar o valor do nome do pacote. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote de aplicativos para seu diretório de trabalho e execute o seguinte comando:
$ aapt debug badging app-debug.apk | grep "package: name="
Um pacote de aplicativos Android válido deve gerar um resultado semelhante ao seguinte:
package: name='com.amazon.aws.adf.android.referenceapp' versionCode='1' versionName='1.0' platformBuildVersionName='5.1.1-1819727'
Para obter mais informações, consulte Testes de Android no AWS Device Farm.
ANDROID_APP_SDK_VERSION_VALUE_MISSING
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Não foi possível encontrar o valor da SDK versão em seu aplicativo. Verifique se o aplicativo é válido executando o comando aapt debug badging
e tente novamente depois de encontrar o valor da SDK versão por trás da palavra-chave<path to your test
package>
sdkVersion
.
Durante o processo de validação do upload, AWS o Device Farm analisa o valor da SDK versão a partir da saída de um aapt debug badging
comando.<path to your package>
Verifique se você consegue executar esse comando com êxito em seu aplicativo Android e encontrar o valor do nome do pacote. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote de aplicativos para seu diretório de trabalho e execute o seguinte comando:
$ aapt debug badging app-debug.apk | grep "sdkVersion"
Um pacote de aplicativos Android válido deve gerar um resultado semelhante ao seguinte:
sdkVersion:'9'
Para obter mais informações, consulte Testes de Android no AWS Device Farm.
ANDROID_APP_AAPT_DUMP_XMLTREE_FAILED
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Não foi possível encontrar o AndroidManifest arquivo.xml válido em seu aplicativo. Para verificar se o pacote de testes é válido, execute o comando aapt dump xmltree
e tente novamente se o comando não imprimir nenhum erro.<path to your test
package>
AndroidManifest.xml
Durante o processo de validação do upload, o AWS Device Farm XML analisa as informações da árvore de análise de um XML arquivo contido no pacote usando o comando. aapt dump xmltree
<path to your
package>
AndroidManifest.xml
Verifique se você consegue executar esse comando com êxito em seu aplicativo Android. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote de aplicativos para seu diretório de trabalho e execute o seguinte comando:
$ aapt dump xmltree app-debug.apk. AndroidManifest.xml
Um pacote de aplicativos Android válido deve gerar um resultado semelhante ao seguinte:
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")
Para obter mais informações, consulte Testes de Android no AWS Device Farm.
ANDROID_APP_DEVICE_ADMIN_PERMISSIONS
Se você visualizar a mensagem a seguir, siga estas etapas para corrigir o problema.
Atenção
Descobrimos que seu aplicativo requer permissões de administrador do dispositivo. Verifique se as permissões não são necessárias executando o comando aapt dump xmltree
e tente novamente assim que confirmar que a saída não contém a palavra-chave <path to your test package>
AndroidManifest.xmlandroid.permission.BIND_DEVICE_ADMIN
.
Durante o processo de validação do upload, o AWS Device Farm analisa as informações de permissão da árvore de análise xml de um arquivo xml contido no pacote usando o comando. aapt dump xmltree
<path to your
package>
AndroidManifest.xml
Descobrimos que seu aplicativo não requer permissão de administrador do dispositivo. No exemplo a seguir, o nome do pacote é app-debug.apk.
-
Copie o pacote de aplicativos para seu diretório de trabalho e execute o seguinte comando:
$ aapt dump xmltree app-debug.apk AndroidManifest.xml
Você provavelmente chegará a um resultado como o seguinte:
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") ……
Se o aplicativo Android for válido, a saída não deverá conter o seguinte:
A: android:name(0x01010003)="android.permission.BIND_DEVICE_ADMIN" (Raw: "android.permission.BIND_DEVICE_ADMIN")
.Para obter mais informações, consulte Testes de Android no AWS Device Farm.
Certas janelas do meu aplicativo Android mostram uma tela em branco ou preta
Se você estiver testando um aplicativo Android e perceber que determinadas janelas do aplicativo aparecem com uma tela preta na gravação de vídeo do teste do Device Farm, seu aplicativo pode estar usando o recurso FLAG_SECURE
do Android. Esse sinalizador (conforme descrito na documentação oficial do Android
Esse sinalizador é frequentemente usado por desenvolvedores para páginas em suas aplicações que contêm informações sensíveis, como páginas de login. Se você estiver vendo uma tela preta no lugar da tela da sua aplicação para determinadas páginas, como a página de login, trabalhe com seus desenvolvedores para obter uma versão da aplicação que não use esse sinalizador para testes.
Além disso, observe que o Device Farm ainda pode interagir com janelas de aplicações que tenham esse sinalizador. Portanto, se a página de login da aplicação aparecer como uma tela preta, você ainda poderá inserir suas credenciais para fazer login na aplicação (e, assim, visualizar páginas não bloqueadas pelo sinalizador FLAG_SECURE
).