Android应用程序在开始时以“E / dex2oat:无法创建燕麦文件”和“非0退出状态”崩溃

时间:2017-07-12 17:51:35

标签: java android android-studio logcat dex

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

> E/dex2oat: Failed to create oat file:
> /data/dalvik-cache/arm64/data@app@myapp.mycomp.de.myapp-1@split_lib_slice_1_apk.apk@classes.dex:
> Permission denied

接着是

> 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)
> because non-0 exit status

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

任何暗示都表示赞赏,谢谢!

2017年7月13日更新: 我使用一个始终有效的设备记录了appstart,并且我得到了与上面相同的“错误”。所以看来,这些消息可能是正常的...在此之后我查看了故障设备的崩溃日志,并在我上面发布的错误后不久发现了以下几行:

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: Sending signal. PID: 21797 SIG: 9

似乎这个过程被Sigkill 9杀死了,另请参阅SE:App dies with "Sending signal." but no exception or other info

但我再也不知道是什么导致了这一点。在此之后,我清除了机器人应用程序首选项中的应用程序数据,突然应用程序再次启动。调查将继续......

1 个答案:

答案 0 :(得分:0)

尝试禁用即时运行,看看here

然后编辑您的主要dex文件,在android开发者网站上检查此resource,以确保您在主要dex文件中启用了正确的类