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

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

问题描述

无法使用Android模拟器来测试Instant Apps !!每当我得到侧面加载即时应用程序失败:读取捆绑软件超时".

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

仿真器:运行Android 6.0(API级别23),x86和Google API的Nexus 5X图像. Google API Intel 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发行说明中找到解决方案

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

即时应用程序配置缓存的可靠性问题.如果您手动 取消配置设备或仿真器映像以进行即时应用开发, 然后从Android Studio部署即时应用程序,即部署 将失败,因为Android Studio不会设置您的 设备/仿真器映像再次.要解决此问题,请执行以下操作: 运行配置对话框,然后在 左侧窗格.单击之前"下的即时应用设置"任务 发布:具有等级意识的制作,即时应用配置",点击修改( 铅笔图标)选中清除预配置的设备缓存"

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天全站免登陆