In our production build (done on a CI server, so no Instant Run), users are reporting that the app either:
or
With several bug reports from them at this point, the common thread seems to be the dex2oat process failing:
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 : Failed to create oat file: /data/dalvik-cache/arm64/data@app@**packagename**-1@base.apk@classes.dex: Permission denied 05-11 20:48:21.783 7316 7316 I dex2oat : dex2oat took 3.058ms (threads: 8) 05-11 20:48:21.793 7293 7293 W art : Failed execv(/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) because non-0 exit status
We are seeing this issue across multiple manufacturers (Samsung, Kyocera, Blackberry) and phones. So far, all the bug reports that I have are against Android 6.0.X
I'm aware of Several Bugs with similar symptoms around Instant Run, but I do not believe this is that. I've also seen a few other, older questions here, but only the Instant Run related ones have any answers or they are with much older versions of the plugins/gradle/build tools.
Comparing the last version we had before we started getting these reports to now, the only thing I think might be relevant is that I upgraded the Multidex library from 1.0.2
to 1.0.3
.
Of course, I have been totally unable to reproduce the issue on any of my test devices, across any OS version, including factory resetting them.
Anyone have any thoughts, suggestions or even things to try? I'm running out of ideas quickly.
Additional informationHaving finally gotten ahold of one of the devices where this problem is evident, some additional facts:
adb
as well debuggable true
causes the installation to go from 9:43 to less than 20 seconds. This is true even if I leave other settings such as proguard and minification turned on. Looks like the Gradle Plugin 3.1.2 is causing the Issue
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.