2012-04-26 17 views
4

私はScala(SBT + IntellijIDEA)を使って小さなプロジェクトを作ってくれました。これは私がAndroidで使いたいクラスやその他の機能を提供してくれます。私はこのプロジェクトを$ coreと呼びます。JavaとAndroidをScalaで作ったコアはどうやって使うことができますか?

これを念頭に置いて、私は最初にスカラだけを使用しようとしました。アンドロイドプラグインを使用してAndroidプロジェクトを作成しようとしましたが、手に入れました。

私が本当に望むのは、Androidプロジェクトで$ coreを使用し、Javaを使用して$ coreクラスを拡張することです。 $ coreは、より多くの人に使いたいと思うAPIを提供しています。そして、おそらくScalaを知らないので、Javaは完璧です。また、私はAndroidで安全なルートに入る必要があります。私はスカラーがAndroidにコンパイルするのに多くの時間がかかり、parsebllesのようないくつかの制限があるという情報を見ました。

私はすでにeclipseのクラスをimport class folderオプションで使用しようとしました。私は瓶を生成しようとしても、少なくとも私はそれを実行する方法と成功する必要があります。 $ coreから1つのクラスを使用しようとすると、常にNoClassDefエラーが発生します。私もスカラーコンパイラライブラリをインポートしようとしましたが、うまくいきませんでした。

コアはまだ完成していません。私はアンドロイドデバイスでデバッグすることを許可した単一の環境で開発したいと思います。どうすればこのすべてをセットアップできますか?

PS:今日食に変更する方がいいでしょうか? intelijIDEAとIn scalableでAndroidを試したことはありません。少なくともScalaCheckを使用してデバッグすることはできません。

答えて

0

追加しなかったので、JavaからのScalaコードで作業しているときにnoclassdeffoundエラーが発生する可能性はありますか? Scalaライブラリをjavaプロジェクトに追加するか、少なくともJarファイルのScalaコードで使用されているパーティを追加しましたか?

残りのエラーを投稿できますか?

+0

残りのエラーはどういう意味ですか?私が通常持っているNoClassDefは次のようなものです: 'NoClassDefError:some.package.AClass was not found' AClassは、JavaでScalaで定義されたクラスでした –

0

コアをScalaライブラリと一緒に.jarにパッケージ化し、Proguardを使用して、使用されていないScalaライブラリクラスをすべて削除し、そのjarを通常のライブラリとして使用できます。

関連する問題