解决方案 »

  1.   

    看了下文档说必须1.6或更高。。难道说更高只是指JDK可以使用高版本,但是语言特性却不能使用高版本的?
      

  2.   

    他的意思是你可以装1.7的JDK(因为JAVA1.7里有1.6的编译器) 
    但是Android本身是不支持JAVA 1.7的... 所以你还是得选成1.6的编译器
      

  3.   

    可是事实貌似不是这样的。
    理由1.如果Android本身不支持jdk1.7,那么无论使用什么IDE应该都是同样效果。
    理由2.我对apk文件,和class文件均进行了反编译。
    代码如下:
    class文件反编译结果  switch (ContentListActivity.this.myApplication.getTabs())
              {
              case "receive":
    ..........apk文件反编译后的smali文件    .line 95
        :sswitch_0
        const-string v3, "receive"这应该是支持吧....
      

  4.   

    对了,switch方法,最后好像是使用的equals方法
       invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    不知道1.7中switch对字符串的处理是不是使用的equals方法。没有去查看jdk的源码。
      

  5.   

    Please use Android Tools > Fix Project Properties.
    你按照提示操作一下看看
      

  6.   

    是吗...我自己倒是没试过
    之前也遇到过这个问题 我是看stackoverflow上是这么说的
    http://stackoverflow.com/questions/7637144/android-requires-compiler-compliance-level-5-0-or-6-0-found-1-7-instead-plea
      

  7.   


    话说
    http://developer.android.com/sdk/index.html
    SYSTEM REQUIREMENTS中写的是JDK 6
      

  8.   


    可以使用jdk1.7,但是编译等级必须是1.6,也就是说。代码必须兼容1.6才行。我现在纳闷的是,idea下是怎么编译通过的。难道idea 会自动修正编码。不明白了。。
      

  9.   

    幸亏idea比较智能,重构代码比较快,先在idea中修改编译等级,然后使用IDE自动修正代码就好了。也没花太多时间