Android 2.2开始resources.arsc有改变

从Android 2.2 API Level8开始APK文件的资源resources.arsc的编码有了小幅的改变,过去使用的是UTF-16LE编码方式被转换成了UTF-8编码,这样的好处就是处理纯英文等直接通过ascii存储语言的国家资源文件将会更小,而对于中文、日文这些国家的资源文件反而会变大。

   UTF-16LE对于编码中文、英文均使用2个字节,但是Google可能考虑各个国家主要还是基于类似英文这样的语言存储,使用UTF-8可以减少文件体积,UTF-8是可变长度的,存储英文占1个字节,存储中文占3个字节。总而言之resources.arsc对于汉化Android应用程序十分关键,结构使用了索引表的方式存储,不过Google经常的更改Android API或部分文件的结构并不是一种好的方法,比如在Android 2.3上OpenCore又被换掉了。

你可能感兴趣的:(android,Google)