有人尝试在Android开发中使用lambdaj库吗?
当我创建一个简单的小型 java 应用程序时,它对我来说工作正常,但我无法在 android 应用程序中使用它。
更新:
我正在添加lambdaj(lambdaj-2.3.2-with-dependencies.jar,从 http://code.google.com/p/lambdaj 下载),然后在构建应用程序时出现以下错误:
Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.hamcrest.generator.qdox.directorywalker.DirectoryScanner$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
[2011-05-12 15:45:30 - MyAppName] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.hamcrest.generator.qdox.JavaDocBuilder$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
[2011-05-12 15:45:30 - MyAppName] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(org.hamcrest.generator.qdox.junit.APITestCase$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
[2011-05-12 15:45:30 - MyAppName] Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.
...
skipped stack trace
...
...while working on block 001b
...while working on method yylex:()I
...while processing yylex ()I
...while processing org/hamcrest/generator/qdox/parser/impl/JFlexLexer.class
[2011-05-12 15:45:30 - MyAppName] Dx 1 error; aborting
[2011-05-12 15:45:30 - MyAppName] Conversion to Dalvik format failed with error 1
这个问题已经有 4 年了,但现在我遇到了同样的问题,我通过将最后一个可用的 hamcrest 库版本添加到我的 gradle 构建配置中来解决。
这是我的相关线程
<小时 />更新:
我的项目上的 lambdaj 遇到了一些问题,这个库并不完全兼容。我搬到了逆向,看看吧!
在我看来,Hamcrest图书馆有问题。 尝试按照错误中的建议从源代码重建 hamcrest 库。