scala と AndroidProguardScala の性質を追加した eclipse に libgdx Android プロジェクトがあります。これはうまく機能していましたが、突然Eclipseが「ビルドパスに複数のScalaライブラリが見つかりました」という警告を出し始めました。プロジェクトをビルドしてデバイスにインストールすることはできますが、すぐに で終了するNoClassDefFoundError: scala.Tuple2$mcZZ$sp
ため、Scala ライブラリがまったく含まれていないように見えます。
私のプロジェクトには、「Scala Library [2.10.1]」(「scala-library.jar」として)と「Android Dependencies」(「scala_library.min.jar」として)の両方にScalaライブラリがあるようです。 Proguard の出力が元のライブラリと競合していますが、これが発生した理由や修正方法がわかりません。
この時点で、新しいプロジェクトを作成してソース ファイルをコピーするだけで済みますが、誰かがこれに光を当てることができれば素晴らしいことです。
編集:いくつかの実験の後、このコード (トレイトのメソッド内から) が問題を引き起こしているように思われることが判明しました。
acckeys match {
case (true, false) => acceleration.set(0, accel).rotate(rotation)
case (false, true) => acceleration.set(0, -accel).rotate(rotation)
case _ => acceleration.set(0, 0)
}
(acckeys は a を返す関数tuple
でacceleration
、ベクトルです)
複数のライブラリの警告はまだ残っているので、問題とは関係ないと思います。幸いなことに、Android バージョンのプロジェクトからこのコードを実際に参照する必要はありませんが、このコードがコンパイルされても実行に失敗する理由を知ることは依然として役に立ちます。