我在Eclipse中工作的android项目使用maven来引入JAR文件。其中一个jar文件中包含本机* .so文件,导致弹出此错误,然后出现内存大小问题,导致IDE崩溃。
[2014-03-26 08:42:23 - **] Dx警告:忽略InnerClasses属性 对于匿名内部类(org.ibex.nestedvm.util.Sort $ 1)而言 没有关联的EnclosingMethod属性。这个班 可能是由一个没有针对现代的编译器生成的 .class文件格式。建议的解决方案是重新编译该类 从源代码,使用最新的编译器,而不指定任何 “-target”类型选项。忽略这个警告的后果是 对此类的反思操作将错误地指示 不是一个内部类。
[2014-03-26 08:43:10 - **]图书馆'sqlite-jdbc-3.7.2.jar' 包含无法在设备上运行的本机库。
[2014-03-26 08:43:10 - **]找到以下图书馆:
[2014-03-26 08:43:10 - **] - native / Linux / amd64 / libsqlitejdbc.so
[2014-03-26 08:43:10 - **] - native / Linux / i386 / libsqlitejdbc.so
[2014-03-26 08:43:10 - **] - native / Mac / i386 / libsqlitejdbc.jnilib
[2014-03-26 08:43:10 - **] - native / Mac / x86_64 / libsqlitejdbc.jnilib
有些SO评论建议重新编译JAR以包含没有* .so文件,并且有适当的目标来删除第一个警告。 SO Link
我做了最初通常做的事情并升级了我的ADT和Eclipse工具。现在我收到以下警告:
[2014-03-26 14:17:08 - **] Dx麻烦写输出:已经 制备
IDE不再崩溃(我升级了eclipse ini文件以提升内存4倍)以前的警告已经消失。 ADT现在版本为22.6.2,之前为22.6.0。
所以问题是:这是一个真正的解决方案还是现在蒙为面具?
答案 0 :(得分:0)
如果您在开发时间内没有必要Linux
和Mac
,请从sqlite-jdbc-xxx.jar
中删除这些文件夹。使用压缩工具打开jar
文件并将其删除。
当您需要这些包时,请再次添加到jar
。