I noticed androguard doesn't handle all the oddities of AXML/ARSC UTF-8 string decoding (specifically, the presence of surrogate pairs and strings with a length that doesn't fit into two bytes); you might want to take a look at how my parser handles those.