Как использовать swi-prolog на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как использовать swi-prolog на Android

Сообщение Anonymous »

Я разработал программу-пролог с помощью swi-prolog и подключил к ней интерфейс, используя обычный Java с JPL.jar,
Она работает отлично.

Теперь я хочу сделать то же самое с мобильными интерфейсами Android вместо настольных интерфейсов Java. Итак, я создал приложение для Android, добавил JPL в качестве внешнего jar-файла и вызвал файлы пролога, как раньше. В коде ошибок не обнаружено.

Но когда я запускаю его как приложение для Android, он говорит, что jpl.query$1 не найден.

вот логарифм

Код: Выделить всё

08-21 17:36:35.782: D/dalvikvm(659): DexOpt: unable to opt direct call 0x0cd8 at 0x08 in Ljpl/Query;.abort
08-21 17:36:35.812: W/dalvikvm(659): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Ljpl/fli/Prolog;
08-21 17:36:35.812: D/AndroidRuntime(659): Shutting down VM
08-21 17:36:35.822: W/dalvikvm(659): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
08-21 17:36:35.916: E/AndroidRuntime(659): FATAL EXCEPTION: main
08-21 17:36:35.916: E/AndroidRuntime(659): java.lang.ExceptionInInitializerError
08-21 17:36:35.916: E/AndroidRuntime(659):  at jpl.Query.open(Query.java:286)
08-21 17:36:35.916: E/AndroidRuntime(659):  at jpl.Util.textToTerm(Util.java:162)
08-21 17:36:35.916: E/AndroidRuntime(659):  at jpl.Query.(Query.java:198)
08-21 17:36:35.916: E/AndroidRuntime(659):  at com.example.trtest.swi.main(swi.java:21)
08-21 17:36:35.916: E/AndroidRuntime(659):  at com.example.trtest.MainActivity$1.onClick(MainActivity.java:70)
------
----

08-21 17:36:35.916: E/AndroidRuntime(659): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jpl: findLibrary returned null
08-21 17:36:35.916: E/AndroidRuntime(659):  at java.lang.Runtime.loadLibrary(Runtime.java:365)
08-21 17:36:35.916: E/AndroidRuntime(659):  at java.lang.System.loadLibrary(System.java:535)
08-21 17:36:35.916: E/AndroidRuntime(659):  at jpl.JPL.loadNativeLibrary(JPL.java:100)
08-21 17:36:35.916: E/AndroidRuntime(659):  at jpl.fli.Prolog.(Prolog.java:85)
...
Так в чем же может быть ошибка?

Я обнаружил, что некоторые говорят, что JPL (swi prolog) нельзя использовать в Android, это правда.

Что я могу сделать, чтобы мое приложение Prolog работало на Android

спасибо
Мэти

Подробнее здесь: https://stackoverflow.com/questions/183 ... th-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»