3

无法使用 Android 模拟器来测试即时应用程序!!每次我收到“侧面加载即时应用程序失败:读取包超时”。


我正在使用,Android Studio 3.0 Canary-5

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

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

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 下的一个已知问题。

即时应用配置缓存的可靠性问题。如果您为免安装应用开发手动取消配置您的设备或模拟器映像,然后从 Android Studio 部署免安装应用,部署将失败,因为 Android Studio 不会再次配置您的设备/模拟器映像。要解决此问题:进入“运行配置”对话框并在左侧窗格中选择 Instantapp 模块。点击“Before launch:Gradle-aware Make, Instant App Provision”下的“Instant App Provision”任务点击编辑(铅笔图标)勾选“Clear provisioned devices cache”</p>

4

4 回答 4

3

该设备被认为是“已为即时应用程序配置”,但事实并非如此,这可能是因为之前使用并修改了另一台具有相同序列号(相同模拟器)的设备,或者因为该设备是在外部修改的(不是由 Android Studio 修改的)。

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

于 2017-07-07T12:36:51.287 回答
1

compileSDK 26使用and构建项目时,我遇到了类似的错误targetSDK 26。回去SDK 25supportLibrary 25.4.0我解决了这个问题。

于 2017-07-04T14:30:47.467 回答
1

devman.apksdk/extras/google/instantapps/tools/apks/debug文件夹下丢失。请在运行您的免安装应用之前手动加载它:

adb install /path/to/android/sdk/extras/google/instantapps/tools/apks/release/devman.apk
于 2017-07-06T19:09:41.763 回答
0

在我的情况下,(在模拟器中)设置 -> 谷歌 -> 即时应用程序中的选项被禁用。
我手动启用它,然后它工作正常。

于 2017-07-10T13:58:15.217 回答