0

次のコマンド ラインを使用してビルドした JAR ファイルを実行しようとしています (adb シェルから)。

dalvikvm -cp /sdcard/MyJar.jar MyJar.main.Main

私のメインクラスにはメソッドが1つしかありませんmain:

public static void main(String[] args)
{
    // Connect to local db
    SQLiteDatabase db = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READWRITE);
}

コマンドラインを実行すると、関数が実行されているように見えますmainが、次の例外が発生します。

java.lang.UnsatisfiedLinkError: native_get_int
    at android.os.SystemProperties.native_get_int(Native Method)
    at android.os.SystemProperties.getInt(SystemProperties.java:74)
    at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1846)
    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
    at MyJar.main.Main.main(Main.java:146)
    at dalvik.system.NativeStart.main(Native Method)

私の推測では、このリンク エラーを解決するには何らかのライブラリをロードする必要がありますが、それがどのライブラリであるかはわかりません (これは、おそらく dalvikvm によってロードされるべき基本的なもののように思えます...)。

何か案は ?

4

1 に答える 1

1

app_processの代わりに実行してみてくださいdalvikvm

Vogarは、この種のことを非常に簡単にします。SVN ページから最新の vogar をチェックアウトし、ant でビルドしてから、Linux デスクトップで実行します。

~/Projects/vogar/bin/vogar --mode app_process ~/myapp/src/com/me/Main.java

Vogar は をビルドし、ファイルを.java作成し、それを使用してデバイスにコピーし、デバイス上で VM を実行します。これを使用して Dalvik を開発しています。.dexadb

于 2011-06-16T06:40:20.543 に答える