android - tesis - Falló la aplicación instantánea de carga lateral: se agotó el tiempo de espera del paquete de lectura
java.lang.runtimeexception unable to start activity componentinfo (4)
¡No se puede usar Android Emulator para probar las aplicaciones instantáneas! Cada vez que recibo "Falló la aplicación instantánea de carga lateral: se agotó el tiempo de espera del paquete de lectura".
Estoy usando, Android Studio 3.0 Canary-5
Emulador : imagen Nexus 5X con Android 6.0 (API nivel 23), x86, con API de Google. API de Google Imagen del sistema Intel x86 Atom (Revisión 21)
Nota: Después de actualizar la imagen del sistema Android Studio 3.0 (Canary-4> Canary-5) y Emulator de la revisión (20> 21) . No puedo ejecutar la aplicación instantánea a través del emulador. Siempre recibo el mensaje de error que dice "Falló la aplicación instantánea de carga lateral: se agotó el tiempo de espera del paquete de lectura".
com.google.android.gms.persistent E/InstantApps: DomainFilterImpl: Error while reading domain filter from WHAPI
java.util.concurrent.ExecutionException: awjr: INVALID_ARGUMENT: Application credential header not valid. Please fix the client to pass a valid application credential header.
at java.util.concurrent.FutureTask.report(FutureTask.java:94)
at java.util.concurrent.FutureTask.get(FutureTask.java:164)
at tey.get(:com.google.android.gms:1)
at tir.a(:com.google.android.gms:25)
at tir.a(:com.google.android.gms:16)
at tir.a(:com.google.android.gms:9)
at tir.b(:com.google.android.gms:0)
at tio.b(:com.google.android.gms:0)
at com.google.android.gms.instantapps.routing.DomainFilterUpdateChimeraService.a(:com.google.android.gms:14)
at tiu.run(:com.google.android.gms:0)
at lhb.run(:com.google.android.gms:24)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at lmc.run(:com.google.android.gms:0)
at java.lang.Thread.run(Thread.java:818)
Caused by: awjr: INVALID_ARGUMENT: Application credential header not valid. Please fix the client to pass a valid application credential header.
at awjn.c(:com.google.android.gms:0)
at lbb.a(:com.google.android.gms:97)
at tem.b(:com.google.android.gms:43)
at tem.a(:com.google.android.gms:0)
at tez.call(:com.google.android.gms:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at lhb.run(:com.google.android.gms:24)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at lmc.run(:com.google.android.gms:0)
at java.lang.Thread.run(Thread.java:818)
W/ActivityManager: Unable to start service Intent { act=com.google.android.instantapps.devman.iapk.LOAD cmp=com.google.android.instantapps.devman/.iapk.IapkLoadService (has extras) } U=0: not found
Aprecio tu ayuda.
Actualizar:
Solución encontrada en notas de la versión de Android Studio aquí . Este es un problema conocido en Android Studio canary-5.
Problema de confiabilidad con el caché de aprovisionamiento de la aplicación instantánea. Si desaprovisiona manualmente su dispositivo o imagen de emulador para el desarrollo de aplicaciones instantáneas y luego despliega la aplicación instantánea desde Android Studio, la implementación fallará porque Android Studio no aprovisionará nuevamente su dispositivo / imagen de emulador. Para solucionar este problema: vaya al cuadro de diálogo Configuración de ejecución y seleccione el módulo de instantapp en el panel izquierdo. Haga clic en la tarea "Provisión de la aplicación instantánea" debajo de "Antes del lanzamiento: Gradle-aware Make, Instant App Provision" Haga clic en editar (el ícono de lápiz) Marque "Borrar caché de dispositivos provisionados"
El dispositivo se considera como "ya aprovisionado para aplicaciones instantáneas" pero no, probablemente porque otro dispositivo con el mismo número de serie (el mismo emulador) se utilizó antes y se modificó o porque el dispositivo se modificó externamente (no por Android Studio).
Una solución para eso es borrar el caché antes de cada ejecución: InstantApp ejecuta la configuración -> antes de ejecutar tareas -> provisión para la tarea de la aplicación instantánea -> editar -> borrar la memoria caché de los dispositivos aprovisionados.
Tuve un error similar cuando construí el proyecto usando compileSDK 26
y targetSDK 26
. Volviendo al SDK 25
y supportLibrary 25.4.0
resolvió el problema para mí.
devman.apk
falta en la devman.apk
sdk/extras/google/instantapps/tools/apks/debug
. Por favor, cárguelo manualmente antes de ejecutar su aplicación instantánea:
adb install /path/to/android/sdk/extras/google/instantapps/tools/apks/release/devman.apk
En mi caso, la opción en (en el emulador) Configuración -> Google -> Aplicaciones instantáneas estaba deshabilitada.
Lo habilité manualmente, luego funcionó bien.