想知道是否有人尝试过在Android中使用新的Java7语言特性?我知道Android读取Java输出的字节码,并将其转换为dex。所以我想我的问题是它能理解Java7的字节码吗?
发布于 2011-08-24 20:25:29
编辑:在撰写本文时,最新版本是Android 9和Eclipse Indigo。从那时起,事情发生了变化。
是的,我试过了。但这并不是一个很好的测试,因为兼容性被限制在6级,没有办法(至少没有简单的方法)真正使用java 7:


然后我安装了最新版本的Android SDK (编辑:


所以我使用了Hello World,还有其他更复杂的应用,使用了SQLite,Listview,Sensor和Camera,但这只能证明Java7的兼容性处理似乎做得很好,可以与安卓一起工作。
那么,有没有人尝试过使用很好的旧,来绕过上面看到的限制呢?
无论如何,正如here所解释的那样,SDK被设计为与Java5或6一起使用。
我们可能有一些东西可以在Java 7上工作,但它会“意外地”工作。DEX的构建可能工作正常或不正常,一旦构建DEX,它可能会工作也可能不会。这是因为根据定义,使用非限定JDK会产生不可预测的结果。
即使有人在普通Java7下成功构建了一个Android应用程序,这也不符合JDK的要求。应用于另一个应用程序的相同过程可能会失败,或者生成的应用程序可能具有与该JDK的使用相关的bug。不推荐使用。
对于那些参与webapps开发的人来说,这完全等同于将一个在Java5或6下构建的web应用程序部署在一个仅适用于Java4的应用服务器上(例如WebLogic8)。这可能是可行的,但除了尝试之外,不能推荐用于其他目的。
发布于 2011-11-19 15:35:46
从Android SDK v15和Eclipse3.7.1开始,对于Android开发,Java7不是支持的。将源兼容性设置为1.7会强制将生成的.class文件兼容性设置为1.7,这会导致安卓编译器出现以下错误:
安卓要求编译器兼容级别为5.0或6.0。而是找到了“1.7”。请使用安卓工具>修复项目属性。
发布于 2013-07-01 06:04:48
看起来,让它在纯ant上工作有点杂乱无章。
但它对我很有效:http://www.informit.com/articles/article.aspx?p=1966024
https://stackoverflow.com/questions/7153989
复制相似问题