Java 运行sbt安装模拟器时出错

Java 运行sbt安装模拟器时出错,java,android,scala,sbt,sbt-android-plugin,Java,Android,Scala,Sbt,Sbt Android Plugin,我正在关注这个页面上使用SBT创建Android项目的视频。但是,我要尝试使用 sbt install-emulator 我得到以下错误: [info] Nothing to compile. [info] Post-analysis: 1 classes. [info] == tests / compile == [info] [info] == awesomepad / proguard == ProGuard, version 4.4

我正在关注这个页面上使用SBT创建Android项目的视频。但是,我要尝试使用

sbt install-emulator
我得到以下错误:

    [info] Nothing to compile.
    [info]   Post-analysis: 1 classes.
    [info] == tests / compile ==
    [info]
    [info] == awesomepad / proguard ==
    ProGuard, version 4.4
    ProGuard is released under the GNU General Public License. The authors of all
    programs or plugins that link to it (sbt, ...) therefore
    must ensure that these programs carry the GNU General Public License as well.
    Reading program directory [C:\Projects\Scala\sbt2test\awesomepad\target\scala_2.
    9.1\classes]
    java.io.IOException: Can't read [proguard.ClassPathEntry@550a17fb] (Can't proces
    s class [com/kickass/awesomepad/R$attr.class] (Unsupported version number [51.0]
     for class format))
            at proguard.InputReader.readInput(InputReader.java:230)
            at proguard.InputReader.readInput(InputReader.java:200)
            at proguard.InputReader.readInput(InputReader.java:178)
            at proguard.InputReader.execute(InputReader.java:78)
            at proguard.ProGuard.readInput(ProGuard.java:195)

正如你链接到的页面上所说,“注意:这篇文章已经有一段时间没有更新了,已经过时了。毫无疑问,请参考sbt android插件的自述文件。”其中的自述文件()包含了我所能找到的唯一一组实际适用于当前版本的scala、sbt和android SDK的说明

我只需要做一些小的调整就能让它工作:

  • 修改sbt脚本(可能是~/bin/sbt)并添加“-XX:MaxPermSize=512m”参数,否则将耗尽PermGen空间
  • 确保使用0.10模板(默认值),而不是可以选择指定的0.11模板
  • 确保当它告诉你去做的时候,你跳到“插件黑客”部分

  • 希望这有帮助。

    对于我来说,插件站点上的描述已经足够了:


    你试过那样做吗?

    我也有同样的问题。我意识到这是因为我使用的是JDK1.7。虽然使用1.6创建的jar可以在1.7上使用,但proguard for 1.6 jar不能在1.7 jar上使用。目前,只有Proguard的测试版可用于1.7。因此,android工具和maven存储库都有proguard for 1.6 JAR。当它尝试修剪1.7个罐子时,会抛出该错误

    为了解决这个问题,我降级到JDK1.6,卸载了1.7,并确保我的JAR是由1.6JDK工具创建的


    为了从本地存储库中删除1.7JAR,我只删除了~/.ivy2下的目录,并使用插件重新创建了android项目。我只是按照android插件的自述文件进行测试。

    因为jdk1.7显然不兼容,所以我也遇到了同样的问题。 在我的
    build.scala
    文件中,我添加了以下行:

    javaHome := Some(file("c:\\Program Files\\Java\\jdk1.6.0_35"))
    
    然后它工作了。

    我获得了错误(不支持类格式的版本号[51.0]),java版本为“1.7.0\u 51”

    通过在Build.scala中添加javac兼容行修复了此问题:

    val settings = Defaults.defaultSettings ++ Seq (
      ...
      javacOptions ++= Seq("-encoding", "UTF-8", "-source", "1.6", "-target", "1.6")
    )
    

    你设法解决了这个问题吗?我也面临同样的问题,我想知道你是如何做到的。有关于支持Java1.7的消息吗?