Because the project needs to achieve online audio and video interaction, the introduction of a newer version of the Libjingle library, after a code, compiled through, but the run-time on the pit dad, the package of all the classes can not find, anti-compilation apk found that the original content of the library has not been compiled into the classes.dex. What is this for? After a detour, it turns out that the package was compiled with a JDK of 1.7. And my eclipse compiled JDK is 1.6. A project with a low version of JDK compilation cannot integrate a library that is compiled with a high version of JDK. It seems that only eclipse and ADT can be upgraded to resolve.
Why is this happening? Probably studied a bit. There may be differences in the class file format compiled by different versions of the JDK, and if the high-version JDK is compiled with a class running on top of the lower version of the JVM, there will be problems that cannot resolve the high-version format. So when this version difference is found, it is not processed directly. In fact, this is very reasonable, but I think that eclipse in the compilation of this situation should be reported a mistake ah, you do not say anything, then the program lack of arms and legs that is not a hole.
Strange question of Android some Lib not being compiled