2011-10-09 7 views
6

私はこのページのビデオに従っていますhttp://zegoggl.es/2009/12/building-android-apps-in-scala-with-sbt.html SBTを使用してAndroidプロジェクトを作成しています。しかし、私はsbt install-emulatorを実行しているときにエラーが発生しました

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 [[email protected]] (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) 
+0

あなたが問題を解決するために管理していましたか?私は同じ問題に直面しており、どうやってそれをしたのか知りたいと思います。 – Salil

答えて

4

私は同じ問題がありました。私はJDK 1.7を使用していたためだと分かりました。 1.6で作成した瓶は1.7で動作しますが、1.6瓶のプロガードは1.7瓶では動作しません。現在、Proguardのベータ版のみが1.7で利用可能です。だから、アンドロイドツールとメイヴァンのリポジトリには1.6個のジャーがあります。 1.7個のジャーを整えようとすると、そのエラーがスローされます。

この問題を解決するために、私はJDK 1.6にダウングレードして1.7をアンインストールし、1.6 JDKツールでJARファイルを作成しました。

ローカルリポジトリから1.7個のjarを削除するには、〜/ .ivy2以下のディレクトリを削除し、プラグインを使用してアンドロイドプロジェクトを再作成しました。そして、私はちょうどアンドロイドプラグインのためのREADMEに続いてティーに行きました。

+0

上記をサポートしています:https://github.com/jberkel/android-plugin/issues/102 – RAbraham

+0

Java 1.7のサポートに関するニュースはありますか? –

2

ページとしてあなたが言うにリンクし、「注:この記事は「hasn sbt-android-pluginのREADMEを参照してください。そこにあるreadme(README.md)には、現在のバージョンのscala、sbt、およびAndroid SDKで実際に動作する検索可能な命令が含まれています。

私はそれを動作させるためにのみ微調整をしなければならなかった:

  1. あなたのsbtスクリプトを変更し(おそらく〜/ binに/ SBT)と "-XX:MaxPermSizeを= 512メートル" を追加し、あなたがそれ以外の場合は、パラメータをPermGenスペースが不足している
  2. オプションで指定できる0.11テンプレートの代わりに、0.10テンプレート(デフォルト)を使用してください。
  3. あなたに指示があったら、「プラグインのハッキング」セクションにスキップしてください。

は、この情報がお役に立てば幸いです。

0

私にとっては、プラグインサイトの説明で十分でした:link

このようにしてみましたか?

0

明らかにjdk1.7は互換性がないため、同じ問題がありました。私build.scalaファイルで は、私は次の行を追加:

javaHome := Some(file("c:\\Program Files\\Java\\jdk1.6.0_35")) 

をして、それが働きました。

0

javaバージョン "1.7.0_51"のエラー "(クラス形式でサポートされていないバージョン番号[51.0]")が見つかりました。

Build.scalaにjavacの互換性の行を追加することで固定この問題は:

val settings = Defaults.defaultSettings ++ Seq (
    ... 
    javacOptions ++= Seq("-encoding", "UTF-8", "-source", "1.6", "-target", "1.6") 
) 
関連する問題