我下载了zxing的源码和实例,但是demo中用了大量jdk1.7才支持的函数,比如switch(String)等,导致我编译不过去,把编译环境改为jdk1.7之后,android又报错:Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
fix之后,编译环境又编程jdk 1.6,真是郁闷
显然不可以,androidSDK编译后的java字节码和jdk编译后的字节码都不一样。
可以设置target.source=1.6和compiler.source=1.6,这样使用jdk1.7
<divclass="ref">可以设置target.source=1.6和compiler.source=1.6,这样使用jdk1.7
一般这种情况可能还跟对方开发的JDK跟你的不同有关系,比如那边是openjdk一类的,把工程属性java编译器那个页面再摆弄一下试试看?jdk是向下兼容的,就是说你基于jdk1.6写的代码在jdk1.7的环境下是可以运行的。你基于jdk1.7新特性编写的代码显然不能够在jdk1.6的环境下运行。
普通jdk使用的jvm是hotspot,而android的jvm是dalvik,你需要找的是支持jdk1.7的dalvik。
先安装jdk1.7,去http://developer.android.com/sdk/index.html下载最新版adt就行了。我就是这样解决的。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。