安卓应用在开始时崩溃,"E/dex2oat: Failed to create oat file"和"non-0 exit status"



我的应用程序(仍然是WIP(在不同的设备上运行良好。但突然之间,它拒绝在华为荣耀7(Android 6.0/EMUI 4.0.3(上启动。Logcat给了我以下内容:

E/dex2oat:无法创建 oat 文件:
/data/dalvik-cache/arm64/data@app@myapp.mycomp.de.myapp-1@split_lib_slice_1_apk.apk@classes.dex:
权限被拒绝

其次

07-12 19:23:49.223
11280-11280/myapp.mycomp.de.myapp W/art: Failed
execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg
--debuggable --instruction set=arm64 --instruction set-features=smp,a53 --runtime-arg -xrelocate --boot-image=/system/framework/boot.art --runtime-arg -xms64m --runtime-arg -Xmx512m --instruction set-variant=generic --instruction set-features=default --dex-file=/data/app/myapp.mycomp.de.myapp-1/split_lib_slice_1_apk.apk
--oat-file=/data/dalvik-cache/arm64/data@app@myapp.mycomp.de.myapp-1@split_lib_slice_1_apk.apk@classes.dex(
因为非 0 退出状态

此错误在spli_lib_slice_N_apk.apk-parts中发生 9 次。我真的不知道,它可能是什么,特别是因为它直到今天都运行良好。我没有对代码进行任何更改。据我所知,我也不使用任何multidex。

任何提示都值得赞赏,谢谢!

2017年7月13日更新:我记录了该应用程序从始终工作的设备上启动,并且遇到了与上述相同的"错误"。所以看起来,这些消息可能是正常的......在此之后,我查看了故障设备的崩溃日志,并在我上面发布的错误后不久发现了以下行:

07-12 20:30:35.985 3209-3421/?I/logserver: extract_appname, forward search, appname=myapp.mycomp.de.myapp
07-12 20:30:35.985 3209-3421/?I/logserver: get_fault_appname, appname=myapp.mycomp.de.myapp
07-12 20:30:35.987 3209-3420/?I/logserver: handle_notify_event, send msg [submit:trigger=0,bugtype=2,modulename=myapp.mycomp.de.myapp,level=1,testtype=NORMAL,path=/data/log/unzip/PLK-L01_PLK-L01C432B390_0000000000_20170712203035_crash,mode=1;]
07-12 20:30:36.014 21797-21899/myapp.mycomp.de.myapp I/System: core_booster, getBoosterConfig = false
07-12 20:30:36.290 21797-21797/myapp.mycomp.de.myapp I/Process: 发送信号。PID: 21797 SIG: 9

似乎该过程被 Sigkill 9 杀死了,另请参阅此处的 SE:应用程序因"发送信号"而死亡。 但没有异常或其他信息

但我又不知道是什么原因造成的。在此之后,我清除了android应用程序首选项中的应用程序数据,突然应用程序再次启动。调查将继续...

尝试禁用即时运行,看看这里

然后编辑您的主 DEX 文件,在 Android 开发人员网站上查看此资源,以确保您在主 DEX 文件中启用了正确的类

相关内容

最新更新