文字列/ファイルをJavaCompilerのようなものを使用して実行時にコンパイルできるJavaソースに変換できるかどうか誰かが知っていますか?これはJava6で可能のようですが、JavaCompilerがAndroidで利用可能であると言う人は誰もいません。
基本的に私の主な目標は、Androidで文字列またはファイルテキストをソースコードに変換することです。誰かがそれがどのように行われるか知っていますか?
ありがとう!
AndroidはJava6ではなくDalvikを実行します。JavaCompilerは標準のDalvikディストリビューションに含まれていないため、使用できません。Dalvikランタイムは、組み込みシステム用に設計されているため、動的性が低く、コードをオンザフライでコンパイルすることは、想定されていないことの1つです。
Hyangeloが提案したもの、または他のスクリプトライブラリについてはGoogleを試してください。たとえば、Clojure。;)
何か高度なことをして、ソースをコンパイルするためのWebサービスをセットアップすることができます。このサービスはJavaソースを受け入れ、それをdalvikコンパイル済みクラスにコンパイルし、バイナリとして返します。
このバイナリは、次のようにカスタムクラスローダーに追加できます: http: //android-developers.blogspot.com/2011/07/custom-class-loading-in-dalvik.html
電話でコンパイルしていませんが、これは実行時にコンパイルされ、クラスローダーに挿入されると実行可能になります。
技術的には可能ですが、簡単ではありません。ターミナルIDEを見ると、デバイス上のソースからAndroidバイトコードをコンパイルするためのすべてのツールにパッケージ化されています。文字列をディスク上のファイルに書き出してコンパイルし、コンパイルDexClassLoader
されたJARファイルまたはAPKからクラスをロードするために使用することで、同様のアプローチをとることができます。