4

文字列/ファイルをJavaCompilerのようなものを使用して実行時にコンパイルできるJavaソースに変換できるかどうか誰かが知っていますか?これはJava6で可能のようですが、JavaCompilerがAndroidで利用可能であると言う人は誰もいません。

基本的に私の主な目標は、Androidで文字列またはファイルテキストをソースコードに変換することです。誰かがそれがどのように行われるか知っていますか?

ありがとう!

4

3 に答える 3

2

AndroidはJava6ではなくDalvikを実行します。JavaCompilerは標準のDalvikディストリビューションに含まれていないため、使用できません。Dalvikランタイムは、組み込みシステム用に設計されているため、動的性が低く、コードをオンザフライでコンパイルすることは、想定されていないことの1つです。

Hyangeloが提案したもの、または他のスクリプトライブラリについてはGoogleを試してください。たとえば、Clojure。;)

于 2012-09-10T20:47:52.413 に答える
0

何か高度なことをして、ソースをコンパイルするためのWebサービスをセットアップすることができます。このサービスはJavaソースを受け入れ、それをdalvikコンパイル済みクラスにコンパイルし、バイナリとして返します。

このバイナリは、次のようにカスタムクラスローダーに追加できます: http: //android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html

電話でコンパイルしていませんが、これは実行時にコンパイルされ、クラスローダーに挿入されると実行可能になります。

于 2012-09-10T20:53:49.637 に答える
0

技術的には可能ですが、簡単ではありません。ターミナルIDEを見ると、デバイス上のソースからAndroidバイトコードをコンパイルするためのすべてのツールにパッケージ化されています。文字列をディスク上のファイルに書き出してコンパイルし、コンパイルDexClassLoaderされたJARファイルまたはAPKからクラスをロードするために使用することで、同様のアプローチをとることができます。

于 2012-09-10T22:43:57.007 に答える