<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在开源项目<a target=_blank href="https://github.com/houkx/android-pluginmgr/" target="_blank">android-pluginmgr</a>开发中处理so时遇到一个问题,zipEntry.getSize()不靠谱,官方注释是这样的</span>
package java.util.zip;
/** * This class is used to represent a ZIP file entry. * * @author David Connelly */ public class ZipEntry implements ZipConstants, Cloneable {
....
/** * Returns the uncompressed size of the entry data, or -1 if not known. * @return the uncompressed size of the entry data, or -1 if not known * @see #setSize(long) */ public long getSize() { return size; }
...
}意思是返回压缩前的大小,但实际是在jvm环境没问题,davikvm环境仍返回压缩后的大小,真机测试用了俩手机都是这样。
原来没想到android系统也会有这种bug,排查问题时也受到约束,直到发现在桌面环境单元测试的结果与Android端差别很大时。。