262

私はScala と Androidのチュートリアルに従い、Scala 2.7.3 final を使用しました。結果として得られる Android アプリは機能しますが、最も基本的なアプリケーションでさえ、コンパイルに数分 (!) かかり、900 KBの圧縮が必要であり、これはモバイル アプリケーションのショーストッパーです。さらに、IDE はときどきメモリ不足になります。dexのような大きなライブラリ用には作られていないと思いscala-libraryます。

  • だから私の質問は:誰かが実際にこれをやったことがありますか?これに対する治療法はありますか?
4

9 に答える 9

128

私はScalaでいくつかの基本的なAndroidアプリケーションを作成しましたが、それほど壮大なものはありません。Javaプログラマーではないので、「ツリーシェイク」を使用するように提案されました。友人から、これによりjarファイルから不要なライブラリがすべて削除されると説明されました。

私はそれを文書化していませんが、他の誰かがすでに持っていることがわかりました:

http://chneukirchen.org/blog/archive/2009/04/programming-for-android-with-scala.html

Proguardだけが解決策ではありません。ワークフローに適したもの、または環境により適したものが見つかる場合があります。

さらに、グーグルは、ビルドとメモリの時間を大幅に短縮するJACKを実現しました。https://source.android.com/source/jack.htmlを参照してください。

于 2009-04-20T16:24:49.227 に答える
45

これで、Gradle用のAndroidプラグインを使用して、ScalaでAndroidアプリケーションを作成できます。結果のAPKファイルから脂肪をトリミングするProGuardツールが組み込まれているため、ニーズを満たしているようです。

https://github.com/jvoegele/gradle-android-plugin/wiki

于 2010-04-12T20:59:53.013 に答える
22

Scala ベースのビルダーsbt用のプラグイン sbt-android-pluginもあります。

于 2010-06-17T09:06:12.210 に答える
19

チュートリアルと例については、StéphaneMicheloudの「ExploringAndroid」ページも参照してください:http://lamp.epfl.ch/~michelou/android/

于 2010-07-14T09:06:27.577 に答える
15

この詳細なソリューションを、Eclipse 3.7、Scala 2.10、およびプラグイン AndroidProguardScala v50 で検証しました。

https://stackoverflow.com/a/11084146/1287856

すべて正常に動作します。スケーリングされたメイン アクティビティ クラスを含む単純なテスト アプリケーションは、38Kb しか使用しません。ライブラリ プロジェクトがサポートされています。プロジェクトをエクスポートすると、Proguard がアクティブになります。

于 2012-06-18T14:31:13.333 に答える
7

Scala 用の Android アプリの開発は、常に進化しています。それを行うための現在の最良の方法は、 android-sdk-pluginと組み合わせて SBT に表示されます。これは維持されており*、私の Scala/Android プロジェクトでうまく機能します。前述の Scaloid でこのプラグインを使用した最近の例も見つかります。

この質問は、 Stack Overflow で回答が古い質問の典型的な例であることに注意してください。この回答も、ある時点で時代遅れになる可能性があります。

* この回答スレッドで言及されている他の SBT ベースのプロジェクトは、執筆時点で過去 6 か月間にコードが作成されていないようです。新しいバージョンの Scala および SBT との互換性の問題がある可能性があります。

于 2014-05-26T09:24:32.990 に答える
6

Maven を使用する場合は、android-scala-testをスタートアップ テンプレートとして使用します。それは私にとってすぐに使える素晴らしい作品です。

Scaloidは、Scala で作成された Android API ラッパーで、Android プログラムを Scala スタイルで作成するのに役立ちます。

于 2012-10-15T03:53:10.617 に答える
3

Android での Scala の最大の問題は、コンパイル時間です。

おそらく、8GB のデュアル クアッド コア (8-CPU) E5450 Xeon で IDEA13/Scala プラグインを使用して Proguard クラスのストリッピング コンパイルを行うと、2 分以上かかることがあります。

大規模な Scala Android プロジェクトを完了した後、コンパイル時間があまりにもイライラするので、単純に Java に戻りました。

于 2014-10-01T00:49:08.167 に答える