これにはAvian JVM を使用できます。(ウィキペディアの記事)。
アプリケーションをスタンドアロンの実行可能ファイルにコンパイルできます。これはさまざまなクラス ライブラリをサポートします: openjdk、Android クラス ライブラリの実装 (Android で実行していない場合でも)、および非常に制限されたカスタム クラス ライブラリ (基本的にメソッドを追加する)作成者は独自のアプリケーションを実行するために API を必要とするため)。
コード リポジトリのREADMEには、VM を埋め込み、アプリケーションを実行する「ブート」C++ プログラムを生成する方法が説明されています。すべてのメソッドを AOT コンパイルしてバイナリを生成する場合は、「ブート イメージ」セクションを参照してください。これにより、実行時の JIT コンパイルが不要になります。
ブート イメージがなくても、jar ファイルと、それらを「開始」する実行可能ファイルを出荷できます (実行可能ファイルは仮想マシンを埋め込みます)。ブート イメージを使用すると、jar ファイルがさらにネイティブ コードにプリコンパイルされます。
一方、マネージド言語/プラットフォームのみが必要な場合は、.NET/Mono AOTを使用することもできます。Mono 2.x に含まれている mkbundle ツールを参照してください。