Android DX警告导致崩溃

时间:2014-03-26 18:49:19

标签: android eclipse maven dalvik dx

我在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。

所以问题是:这是一个真正的解决方案还是现在蒙为面具?

1 个答案:

答案 0 :(得分:0)

如果您在开发时间内没有必要LinuxMac,请从sqlite-jdbc-xxx.jar中删除这些文件夹。使用压缩工具打开jar文件并将其删除。

当您需要这些包时,请再次添加到jar