

If I comment this out, the HTML will be fine when I later access it. I've narrowed it down to being triggered by some C code that reads objects out of the obb. It is almost like the Android code that reads the obb is getting the block mapping wrong.

Interestingly, the gibberish is recognizable as binary data from elsewhere in the obb. The first part of the HTML will be fine and then there is gibberish in the second part.

The best example I have is with WebView reading an HTML file from the mounted obb. The actual obb file is not corrupted, but what we read from it is. However, we've found that on the 2nd generation (2013) Nexus 7 table and on Nexus 5 phones, we are reading some data from the obb that is corrupted. On Android the data is in a obb file that we get using the Expansion APK mechanism. We have a cross platform mobile app that uses a native C library to read some data (among other things).
