2013-08-21 46 views
3

我已经开发了一个使用swi-prolog的prolog程序,并且使用普通java与JPL.jar, 连接了一个接口,它运行完美。如何使用swi-prolog与android

现在我想用android移动界面来代替java桌面界面。所以我创建了一个android应用程序,将JPL添加为外部jar,并像之前一样调用prolog文件。代码中没有显示错误。

但是,当我运行它作为一个Android应用程序它说jpl.query $ 1无法找到。

这里是logcat的

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)不能在android中使用,这是真的。

我能做些什么有安卓

感谢我的序言中的应用程序运行 Mathee

+0

您有相同jar的副本吗? –

+1

不好意思,但SWI-Prolog无法在Android中运行。我们都希望它能做... – CapelliC

回答

4

月Wielemaker,SWI-Prolog的开发,发布对在邮件在Android设备上使用SWI-Prolog的最近的一些进展名单。请参阅[SWIPL] Holiday present: SWI-Prolog on Android

+0

可悲的是URL被打破,因为10/8/2014 – Mixaz

+1

找到了一个有效的URL:http://swi-prolog.996271.n3.nabble.com/Holiday-present-SWI- Prolog-on-Android-td12798.html,这导致官方网站:http://www.swi-prolog.org/build/linuxonandroid.txt – Mixaz