I was staring at the diagnostic dump I posted earlier. This seems like this is the major error:
09-18 10:45:51.661 27753-27753/? E/HAL﹕ load: module=/system/lib/hw/gralloc.msm8226.so
dlopen failed: could not load library "libmm-abl.so" needed by "gralloc.msm8226.so"; caused by could not load library "libdiag.so" needed by "libmm-abl.so"; caused by could not load library "libpredtm.so" needed by "libdiag.so"; caused by library "libpredtm.so" not found
And looking on my device, the "libpredtm.so" is indeed missing, like it says. The other libraries are in the /system/vendor/lib directory, which I see is probably the reason Google is saying it's Kyocera's fault. But the problem seems like that Google's code execution is passing through Kyocera's "libdiag.so" library. Looking at the "diag.c" source code online, this seems like generally where all of the diagnostic, debugging, print messages are found. So, it looks like somebody on the Google Play team may have left some debugging messages turned on when they released their latest code. Or a previous version of the Google Play Services may have provided a version of a non-vendor-specific libdiag.so (or equivalent code) that eclipsed the /system/lib/vendor copy, maybe? I don't have a working device to look at to see if that's right. Kyocera didn't publish their (probably proprietary because i couldnt find any references to libpredtm online) libpredtm.so, which is why it's not found, but they shouldn't have had to, if they didnt intend for Google to use their libdiag.so APIs to debug their code. All speculation of course.
09-18 10:45:51.661 27753-27753/? E/HAL﹕ load: module=/system/lib/hw/gralloc.msm8226.so
dlopen failed: could not load library "libmm-abl.so" needed by "gralloc.msm8226.so"; caused by could not load library "libdiag.so" needed by "libmm-abl.so"; caused by could not load library "libpredtm.so" needed by "libdiag.so"; caused by library "libpredtm.so" not found
And looking on my device, the "libpredtm.so" is indeed missing, like it says. The other libraries are in the /system/vendor/lib directory, which I see is probably the reason Google is saying it's Kyocera's fault. But the problem seems like that Google's code execution is passing through Kyocera's "libdiag.so" library. Looking at the "diag.c" source code online, this seems like generally where all of the diagnostic, debugging, print messages are found. So, it looks like somebody on the Google Play team may have left some debugging messages turned on when they released their latest code. Or a previous version of the Google Play Services may have provided a version of a non-vendor-specific libdiag.so (or equivalent code) that eclipsed the /system/lib/vendor copy, maybe? I don't have a working device to look at to see if that's right. Kyocera didn't publish their (probably proprietary because i couldnt find any references to libpredtm online) libpredtm.so, which is why it's not found, but they shouldn't have had to, if they didnt intend for Google to use their libdiag.so APIs to debug their code. All speculation of course.
Upvote
0