• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 关于libfriendlyarm-hardware.so的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
楼主  发表于: 2011-04-11 11:34

 关于libfriendlyarm-hardware.so的问题


请教: 在写android应用的时候,用到libfriendlyarm-hardware.so库来操作串口, 按手册在部属好了环境,编译都通过了,但是运行的时候出现异常,问题是出在找不到JNI_OnLoad这个函数上面, 有人知道怎么处理么,感谢~~

下面是LogCat的输出:

01-02 00:48:25.670: DEBUG/dalvikvm(2271): Trying to load lib /data/data/com.bsasdemo/lib/libfriendlyarm-hardware.so 0x40718140
01-02 00:48:25.670: DEBUG/dalvikvm(2271): Added shared lib /data/data/com.bsasdemo/lib/libfriendlyarm-hardware.so 0x40718140
01-02 00:48:25.670: DEBUG/dalvikvm(2271): No JNI_OnLoad found in /data/data/com.bsasdemo/lib/libfriendlyarm-hardware.so 0x40718140, skipping init
01-02 00:48:25.670: WARN/dalvikvm(2271): No implementation found for native Lcom/friendlyarm/AndroidSDK/HardwareController;.openSerialPort (Ljava/lang/String;JII)I
01-02 00:48:25.670: DEBUG/AndroidRuntime(2271): Shutting down VM
01-02 00:48:25.670: WARN/dalvikvm(2271): threadid=1: thread exiting with uncaught exception (group=0x4021a560)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271): FATAL EXCEPTION: main
01-02 00:48:25.690: ERROR/AndroidRuntime(2271): java.lang.UnsatisfiedLinkError: openSerialPort
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.friendlyarm.AndroidSDK.HardwareController.openSerialPort(Native Method)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.bsasdemo.comport.Comport.openComport(Comport.java:58)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.bsasdemo.comport.LEDController.initComport(LEDController.java:28)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.bsasdemo.comport.LEDController.<init>(LEDController.java:88)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.bsasdemo.BSASDemoActivity.<init>(BSASDemoActivity.java:45)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at java.lang.Class.newInstanceImpl(Native Method)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at java.lang.Class.newInstance(Class.java:1409)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1536)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.os.Looper.loop(Looper.java:123)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at android.app.ActivityThread.main(ActivityThread.java:3647)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at java.lang.reflect.Method.invokeNative(Native Method)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at java.lang.reflect.Method.invoke(Method.java:507)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-02 00:48:25.690: ERROR/AndroidRuntime(2271):     at dalvik.system.NativeStart.main(Native Method)
01-02 00:48:25.700: WARN/ActivityManager(1204):   Force finishing activity com.bsasdemo/.BSASDemoActivity
01-02 00:48:26.000: INFO/dalvikvm(1204): Jit: resizing JitTable from 1024 to 2048
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
1楼  发表于: 2011-04-11 12:40
应该是没有链接libfriendlyarm-hardware.so
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
2楼  发表于: 2011-04-11 12:44

 回 1楼(hacker) 的帖子

我是按手册上面一步步做下来的,不知道怎么样连接呢?
级别: 荣誉会员
UID: 34761
精华: 0
发帖: 1348
金钱: 6835 两
威望: 1367 点
综合积分: 2696 分
注册时间: 2010-12-21
最后登录: 2017-06-02
3楼  发表于: 2011-04-11 14:14
lib/libfriendlyarm-hardware.so

明显路径不对, lib与libfriendlyarm-hardware.so 之前还有一层目录,你检查一下
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
4楼  发表于: 2011-04-11 14:53

 回 3楼(hacker) 的帖子

在eclipse里面,我是按这个路径存放libfriendlyarm-hardware.so库的: libs/armeabi/libfriendlyarm-hardware.so

下面是手册上面的教程, 还是不知道问题出在哪里~
定位到你的Android应用程序目录,在应用程序目录下创建libs 目录,再进入libs目录下创建armeabi 目录,然后将libfriendlyrm-hardware.so 库文件拷贝到armeabi 目录下。
级别: 圣骑士
UID: 9690
精华: 0
发帖: 369
金钱: 1955 两
威望: 415 点
综合积分: 738 分
注册时间: 2009-10-10
最后登录: 2017-11-21
5楼  发表于: 2011-04-11 15:18
蛋疼的不开源的静态编译库文件!路径都要一样么?那我用户名是不是也要改?
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
6楼  发表于: 2011-04-11 15:40

 回 5楼(xiexiedajia) 的帖子

还是不知道什么问题, 重新建了一个项目, copy了光盘自带的LEDDemo项目里面的HardwareControler.java和库文件,现在没问题了,奇怪~完全一样的~
级别: 圣骑士
UID: 9690
精华: 0
发帖: 369
金钱: 1955 两
威望: 415 点
综合积分: 738 分
注册时间: 2009-10-10
最后登录: 2017-11-21
7楼  发表于: 2011-04-11 15:54
如果是本地编译的库,编译时不小心把绝对路径(比如编译器路径之类的)放上去了,那就是很蛋疼的问题了。而且不开源的库对上的接口如果没有说明的话,那完全是抓瞎
级别: 新手上路
UID: 26946
精华: 0
发帖: 14
金钱: 70 两
威望: 14 点
综合积分: 28 分
注册时间: 2010-08-17
最后登录: 2012-10-22
8楼  发表于: 2012-08-13 10:32
不开源,蛋疼啊         
级别: 侠客
UID: 59279
精华: 0
发帖: 84
金钱: 430 两
威望: 86 点
综合积分: 168 分
注册时间: 2011-11-22
最后登录: 2012-12-04
9楼  发表于: 2012-09-05 10:29

 Re:回 3楼(hacker) 的帖子

引用第4楼life173于2011-04-11 14:53发表的 回 3楼(hacker) 的帖子 :
在eclipse里面,我是按这个路径存放libfriendlyarm-hardware.so库的: libs/armeabi/libfriendlyarm-hardware.so

下面是手册上面的教程, 还是不知道问题出在哪里~
定位到你的Android应用程序目录,在应用程序目录下创建libs 目录,再进入libs目录下创建armeabi 目录,然后将libfriendlyrm-hardware.so 库文件拷贝到armeabi 目录下。



你好,手册上说“定位到你的Android应用程序目录”,请问“你的Android应用程序目录”是哪一个目录?是自己在根目录下建一个吗?
谢谢哈~~~
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go