java.lang.UnsatisfiedLinkError при работе с dalvikvm - PullRequest
0 голосов
/ 15 июня 2011

Я пытаюсь запустить файл JAR, который я создал, используя следующую командную строку (из оболочки adb):

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

Мой основной класс имеет только один метод 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 ...). 1012 *

Есть идеи?

1 Ответ

1 голос
/ 16 июня 2011

Попробуйте запустить app_process вместо dalvikvm.

Vogar делает такие вещи очень легкими. Проверьте последний vogar на их странице SVN, соберите его с помощью ant, а затем запустите его на своем рабочем столе Linux

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

Vogar создаст ваш .java, создаст файл .dex, используйте adb, чтобы скопировать его на ваше устройство, а затем запустите виртуальную машину на устройстве для вас. Мы используем его для разработки Dalvik.

...