Android4.4之后文件问题

我的程序原本在4.4版本之前运行成功,到4.4之后就运行失败了?会是什么原因呢?
我调试发现原本data/data/包名/lib是个文件夹,到4.4之后变成了文件,会是他的原因
么?
我主要问题出在dexclassloader这一行,难道4.4后包名里的路径不能用这个函数么?
期待大神解救,谢谢

android4.4采用了art模式,你可以切换为原来的模式(dalvik)试试

ART模式大大提升了性能,对移动应用的影响:

1) 应用兼容性:如果应用本身对Dex文件做了处理,可能会出现兼容性问题;

2) 性能优化:可重点关注ART带来的性能优化数据,对于大量使用CPU的应用,性能提升比较明显。但如果应用程序的时间主要花在调用系统API,提升会小一些;

3) 应用安装包体积:因为安装时进行了预先编译,应用安装的时间会变长,安装后生成的文件也会变大;

4) 第一次启动时长:如果以DexClassLoader的形式加载代码,第一次启动时间也会变长。

android4.4以后的内核变了,这个版本变化比较大,估计和这个有关

如何切换的话,可以参考

http://jingyan.baidu.com/article/2a1383284b3ce8074a134fa4.html

你也可以参考这个链接,和你应该是同样的问题

http://stackoverflow.com/questions/29426953/dexclassloader-run-error-on-android5-0

From Android 5.0 on(应该是4.4以上), the JVM on which Android runs on is ART but not Dalvik anymore. And look at your logcat trace:

dalvik.system.DexPathList.loadDexFile
your codes still tried to run Dalvik things.