gpt4 book ai didi

android - dex2oat 在 Android 6/Marshmallow 上失败 - 权限被拒绝 - 与即时运行无关

转载 作者:太空狗 更新时间:2023-10-29 14:39:40 27 4
gpt4 key购买 nike

在我们的生产构建中(在 CI 服务器上完成,因此没有 Instant Run),用户正在报告该应用:

  • 安装需要很长时间(> 10 分钟),可能永远不会完成

  • 重新启动后,他们会看到安装了我们的应用程序的“优化应用程序 1,共 1”。

此时他们报告了几个错误,共同的线程似乎是 dex2oat 进程失败:


dex2oat :/system/bin/dex2oat --compiler-filter=speed --dex-file=/data/app/**packagename**-1/base.apk --oat-file=/data/dalvik-cache/arm64/data@app@**packagename**-1@base.apk@classes.dex
E dex2oat:无法创建 oat 文件:/data/dalvik-cache/arm64/data@app@**packagename**-1@base.apk@classes.dex:权限被拒绝
05-11 20:48:21.783 7316 7316 我 dex2oat:dex2oat 花费了 3.058 毫秒(线程:8)
05-11 20:48:21.793 7293 7293 W 艺术:执行失败(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --instruction-set=arm64 --instruction-set-features=smp ,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --compiler-filter=speed --instruction-set- variant=generic --instruction-set-features=default --dex-file=/data/app/**packagename**-1/base.apk --oat-file=/data/dalvik-cache/arm64/data @app@**packagename**-1@base.apk@classes.dex) 因为非 0 退出状态

我们在多个制造商(三星、京瓷、黑莓)和手机中发现了这个问题。到目前为止,我所有的错误报告都是针对 Android 6.0.X

  • Gradle 版本:gradle-4.4
  • Gradle 插件:'com.android.tools.build:gradle:3.1.2'
  • compileSdkVersion 26
  • buildToolsVersion '27.0.3'
  • minSdkVersion 19
  • targetSdkVersion 26
  • Multidex 版本 1.0.3

我知道 Several Bugs在 Instant Run 周围有类似的症状,但我不相信是这样。我在这里也看到了其他一些较旧的问题,但只有与 Instant Run 相关的问题有任何答案,或者它们与 plugins/gradle/build 工具的旧版本有关。

比较我们开始获取这些报告之前的最后一个版本,我认为唯一相关的是我将 Multidex 库从 1.0.2 升级到 1.0。 3

当然,我完全无法在任何操作系统版本的任何测试设备上重现该问题,包括将它们恢复出厂设置。

有人有任何想法、建议甚至可以尝试吗?我的想法很快就用完了。

附加信息

终于找到了其中一个明显存在这个问题的设备,一些额外的事实:

  • 通过 adb 安装时也会出现问题
  • 本地编译的二进制文件出现问题
  • 将二进制文件设置为 debuggable true 会使安装时间从 9:43 缩短到不到 20 秒。即使我打开混淆器和缩小等其他设置也是如此。

最佳答案

问题似乎是 Gradle Plugin 3.1.2 引起的

I was able to confirm that this is a bug in the android gradle plugin version 3.1.2. By reverting to 3.0.1 I was able to compile identical code and have it dex2oat immediately and successfully. This issue is also present in the 3.2.0-alpha15 gradle plugin.

关于android - dex2oat 在 Android 6/Marshmallow 上失败 - 权限被拒绝 - 与即时运行无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50350970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com