我使用 targetSandboxVersion="2"
更新了我的生产应用,因为如果没有它,Google Play 管理中心将不允许我发布免安装应用。事实证明,这是 Play 管理中心团队修复的一个错误。一位 Google 工程师在另一个帖子中提到,这不仅不再需要,而且不鼓励这样做,但为了让我发布即时应用程序,我当时别无选择,不知道这是一个错误。
现在的问题是,我在 Play 商店中有一个带有 targetSandboxVersion="2"
的应用程序,并被数千人下载,但我发现这个应用程序无意中破坏了 Oreo 设备上的 Google Mobile Vision 库。我得到以下 logcat 不停地重复:
I/Vision: Loading library libbarhopper.so
I/Vision: libbarhopper.so library load status: false
W/DynamiteModule: Local module descriptor class for com.google.android.gms.vision.dynamite not found.
I/DynamiteModule: Considering local module com.google.android.gms.vision.dynamite:0 and remote module com.google.android.gms.vision.dynamite:1101
I/DynamiteModule: Selected remote version of com.google.android.gms.vision.dynamite, version >= 1101
所以现在我想恢复到 targetSandboxVersion="1"
(实际上只是从已安装的 list 中完全删除 targetSandboxVersion
),但该应用程序无法安装在带有 targetSandboxVersion="2"
的 apk 顶部。
我该怎么办?有没有办法以这种方式更改 list 以允许无缝更新?
最佳答案
So now I want to revert back to targetSandboxVersion="1" (really just removing targetSandboxVersion from the installed manifest altogether) but the app can't be installed on top of an apk with targetSandboxVersion="2".
不幸的是,目前没有简单的方法可以将 targetSandboxVersion
2 无缝降级到 1。
用户必须卸载在沙箱 2 上运行的应用程序版本,才能安装沙箱版本较低的应用程序版本。
对于Google Mobile Vision库的问题,我建议您创建一个使用该库失败的示例项目并将其提交到https://issuetracker.google.com/issues/new?component=316045&template=1018787
关于android - 如何在生产更新中更改 targetSandboxVersion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719889/