侧加载即时应用程序失败:读取包超时 [英] Side loading instant app failed: Reading bundle timed out

查看:22
本文介绍了侧加载即时应用程序失败:读取包超时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无法使用安卓模拟器,用于测试免安装应用!!每次我收到侧面加载免安装应用失败:读取包超时."

Unable to use Android Emulator, for testing the Instant Apps!! Every-time I'm getting "Side loading instant app failed: Reading bundle timed out."


我正在使用 Android Studio 3.0 Canary-5

模拟器:Nexus 5X 映像运行 Android 6.0(API 级别 23)、x86 和 Google API.Google API 英特尔 x86 Atom 系统映像(修订版 21)

Emulator: Nexus 5X image running Android 6.0 (API level 23), x86, with Google APIs. Google APIs Intel x86 Atom System Image (Revision 21)

注意:更新 Android Studio 3.0 后 (Canary-4 > Canary-5) &来自修订版 (20 > 21) 的模拟器系统映像.我无法运行通过模拟器的即时应用程序.我总是收到错误消息侧加载即时应用程序失败:读取包超时."

Note: After updating Android Studio 3.0 (Canary-4 > Canary-5) & Emulator system image from revision (20 > 21). I'm unable to run the instant App through emulator. Always I'm getting the error message saying "Side loading instant app failed: Reading bundle timed out."

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

感谢您的帮助.


更新:

在 Android Studio 发行说明中找到解决方案 这里.这是 Android Studio canary-5 下的已知问题.

Found solution in Android studio release notes here. This is a known-issue under Android Studio canary-5.

即时应用配置缓存的可靠性问题.如果你手动取消配置您的设备或模拟器映像以进行即时应用程序开发,然后从 Android Studio 部署免安装应用,部署将失败,因为 Android Studio 不会配置您的再次设备/模拟器图像.要解决此问题:进入运行配置对话框并选择 Instantapp 模块左侧窗格.单击之前"下的即时应用程序提供"任务启动:Gradle-aware Make, Instant App Provision" 点击编辑(铅笔图标)选中清除配置的设备缓存"

Reliability issue with instant app provisioning cache. If you manually unprovision your device or emulator image for instant app development, and then deploy the instant app from Android Studio, the deployment will fail because Android Studio will not provision your device/emulator image again. To workaround for this issue: Go into the Run Configuration dialog and select the instantapp module on the left-hand pane. Click the "Instant App Provision" task under "Before launch:Gradle-aware Make, Instant App Provision" Click the edit (the pencil icon) Check "Clear provisioned devices cache"

推荐答案

该设备被视为已为免安装应用程序配置",但事实并非如此,可能是因为之前使用了具有相同序列号的另一台设备(相同的模拟器)和修改或因为设备被外部修改(不是由 Android Studio).

The device is being considered as "already provisioned for instant apps" but it's not, probably because another device with the same serial number (same emulator) was used before and modified or because the device was modified externally (not by Android Studio).

解决方法是在每次运行之前清除缓存:InstantApp 运行配置 -> 运行前任务 -> 配置即时应用任务 -> 编辑 -> 清除配置的设备缓存.

A workaround for that is to clear the cache before each run: InstantApp run configuration -> before run tasks -> provision for instant app task -> edit -> clear provisioned devices cache.

这篇关于侧加载即时应用程序失败:读取包超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆