swi-prolog로 프롤로그 프로그램을 개발했으며 JPL.jar가있는 일반 Java를 사용하여 인터페이스를 연결했습니다. 완벽하게 실행되고 있습니다.android와 함께 swi-prolog를 사용하는 방법
이제 Java 데스크톱 인터페이스 대신 Android 모바일 인터페이스에서 동일한 작업을 수행하려고합니다. 그래서 안드로이드 애플리케이션을 만들었고 JPL을 외부 항아리로 추가하고 이전에 프롤로그 파일을 호출했습니다. 코드에 표시된 오류가 없습니다.
하지만 안드로이드 응용 프로그램으로 실행할 때 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.<init>(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.<clinit>(Prolog.java:85)
...
그래서 오류가있을 수 무엇입니까 로그 캣에게 있습니다.
나는 JPL (swi prolog)을 안드로이드에서 사용할 수 없다고 말하면서 사실입니다.
나는 안드로이드
덕분에 내 프롤로그 응용 프로그램 실행을 위해 무엇을 할 수 Mathee
월 Wielemaker, SWI - 프롤로그 개발자, 메일 링에 안드로이드 장치에 SWI-프롤로그를 사용하는쪽으로 최근에 일부 진전을 게시
동일한 병의 복사본이 있습니까? –
슬프지만 SWI-Prolog는 Android에서 실행할 수 없습니다. 우리는 모두 그것이하기를 바랄뿐입니다 ... – CapelliC