Она работает отлично.
Теперь я хочу сделать то же самое с мобильными интерфейсами 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
Мобильная версия