突然消失するかもしれないブログ

”とつきえブログ”

Dalvik VMに直接.jarファイルを指定して実行する方法

Basic Dalvik VM Invocation

Androidのソースコードに含まれるドキュメントより、

(1)Android独自のクラスライブラリを使用しない簡単なHello Worldを表示するだけのJavaプログラムをPC上で作成する。

% echo ‘class Foo {‘\

> ‘public static void main(String[] args) {‘\

> ‘System.out.println("Hello, world"); }}’ > Foo.java

 

(2)上記で作成したJavaプログラムをPC上でコンパイルして.classファイルを生成する。

% javac Foo.java

 

(3)上記で作成した、.classファイルを.dexファイルに変換し、.jarファイルとしてまとめる。

% dx –dex –output=foo.jar Foo.class

 

(4)Android SDKのadbコマンドで、Androidのemulatorか実機にコピーする。

% adb push foo.jar /sdcard

 

(5)Androidのemulatorか実機で上記でコピーした.jarファイルを実行する。

% adb shell dalvikvm -cp /sdcard/foo.jar Foo

Hello, world

 

ここでポイントなのが、dalvikvmコマンドに-cpオプションで実行する.jarファイルを指定して、更に実行するクラス名を指定するところ。

Dalvikの実行環境だけなら、Android SDKのemulatorから吸い出してきて、Debian Lenny/Squeeze化した玄箱Proにコピーするだけで実行できたはずなので、ARM環境でもJavaプログラムを実行できると思います。例えば、lighttpd経由でDalvikを実行できるようになるとちょっと便利かもしれません。

ARMで実行できるフリーなJava実行環境というとJamVMというのがあるのですが、NicoCacheを試してみたところすぐに落ちてしまいました。さすがにフリーのソフトにそこまで求めるのは無理ですかね。

PowerPCのHD-HGLANのころはNicoCacheもIBMのPowerPC用のJDKがあったので快適に動いていたんですけどね。残念。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。