【问题标题】:How to change targetSandboxVersion in production update?如何在生产更新中更改 targetSandboxVersion?
【发布时间】:2018-03-24 23:57:22
【问题描述】:

我使用targetSandboxVersion="2" 更新了我的生产应用程序,因为如果没有它,Google Play 控制台不会让我发布我的免安装应用程序。来看看,这是 Play 管理中心团队修复的错误。一位 Google 工程师在另一个帖子中提到,不仅不再需要这样做,而且不鼓励这样做,而且为了让我发布即时应用程序,我当时别无选择,不知道这是一个错误。

问题是现在我在 Play 商店中有一个带有 targetSandboxVersion="2" 的应用程序,并被成千上万的人下载,但后来发现它无意中破坏了 Oreo 设备上的 Google 移动视觉库。我得到以下 logcat 不停地重复:

I/Vision:加载库 libbarhopper.so
I/Vision:libbarhopper.so 库加载状态:false
W/DynamiteModule:未找到 com.google.android.gms.vision.dynamite 的本地模块描述符类。
I/DynamiteModule:考虑本地模块 com.google.android.gms.vision.dynamite:0 和远程模块 com.google.android.gms.vision.dynamite:1101
I/DynamiteModule:com.google.android.gms.vision.dynamite 的选定远程版本,版本 >= 1101

所以现在我想恢复到targetSandboxVersion="1"(实际上只是从已安装的清单中完全删除targetSandboxVersion)但是该应用程序无法安装在带有targetSandboxVersion="2" 的apk 之上。

我该怎么办?有没有办法以这种方式更改清单以实现无缝更新?

【问题讨论】:

  • Josh,您能否详细说明您遇到的 Mobile Vision API 问题?
  • 我得到以下 logcat 不停地重复。 ----I/Vision:加载库 libbarhopper.so ----I/Vision:libbarhopper.so 库加载状态:false ----W/DynamiteModule:com.google.android.gms 的本地模块描述符类。未找到 vision.dynamite。 ----I/DynamiteModule: 考虑本地模块 com.google.android.gms.vision.dynamite:0 和远程模块 com.google.android.gms.vision.dynamite:1101 ----I/DynamiteModule: 选择远程com.google.android.gms.vision.dynamite 的版本,版本 >= 1101
  • 当我从已安装的清单中删除 targetSandboxversion 时,库正常工作,我不再得到此输出

标签: android android-instant-apps android-vision


【解决方案1】:

所以现在我想恢复到 targetSandboxVersion="1"(实际上只是从已安装的清单中完全删除 targetSandboxVersion),但该应用程序无法安装在 targetSandboxVersion="2" 的 apk 之上。

不幸的是,目前没有简单的方法可以从targetSandboxVersion 2 无缝降级到 1。

用户必须卸载在沙盒 2 上运行的应用版本才能安装沙盒版本较低的应用。

关于谷歌移动视觉库的问题,我建议你创建一个这个库失败的示例项目并提交给https://issuetracker.google.com/issues/new?component=316045&template=1018787

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-16
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多