Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using lambdaj in android

Does anyone tried to use lambdaj library in android development?

It works fine for me when I create a simple small java application, but I can't manage to use it in an android application.

UPDATE:

I'm adding lambdaj (lambdaj-2.3.2-with-dependencies.jar, downloaded from http://code.google.com/p/lambdaj), and then when building my application get the following error:

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
like image 495
Andrey Neverov Avatar asked May 12 '11 11:05

Andrey Neverov


2 Answers

I know that this question is 4 years old, but I had the same problem nowdays and I solved by adding to my gradle build configuration depedencies the last hamcrest library version available.

here my related thread


UPDATE:

I had some problem with lambdaj on my project, this library is not totally compatible. I moved to retrolambda, check it out!

like image 187
appersiano Avatar answered Oct 17 '22 22:10

appersiano


It looks to me like there is a problem with the hamcrest library. Try following the advice in the error and rebuild the hamcrest library from source.

like image 38
Scottie Avatar answered Oct 17 '22 20:10

Scottie