OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 6185|回复: 8

android studio 使用opencv闪退

[复制链接]
发表于 2016-9-19 18:17:58 | 显示全部楼层 |阅读模式
书上附赠的源代码啊。。运行就闪退。。大神们能不能帮忙看看。。。代码17m,只能传百度云了。。

链接:pan.baidu.com/s/1dE4Mns9
密码:iq46
回复

使用道具 举报

发表于 2016-9-19 18:33:07 | 显示全部楼层
单步debug再说吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-19 18:44:24 | 显示全部楼层
sunny0o0 发表于 2016-9-19 18:33
单步debug再说吧。

能不能帮忙调试一下。。。有偿。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-19 18:49:47 | 显示全部楼层
09-19 09:48:06.023 7818-7818/com.packtpub.masteringopencvandroid.chapter1 E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                            Process: com.packtpub.masteringopencvandroid.chapter1, PID: 7818
                                                                                            java.lang.RuntimeException: Unable to resume activity {com.packtpub.masteringopencvandroid.chapter1/com.packtpub.masteringopencvandroid.chapter1.MainActivity}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=org.opencv.engine.BIND }
                                                                                                at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)
                                                                                                at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)
                                                                                                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)
                                                                                                at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                                at android.os.Looper.loop(Looper.java:148)
                                                                                                at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                                             Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=org.opencv.engine.BIND }
                                                                                                at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1209)
                                                                                                at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1308)
                                                                                                at android.app.ContextImpl.bindService(ContextImpl.java:1286)
回复 支持 反对

使用道具 举报

发表于 2016-9-20 10:30:30 | 显示全部楼层
Android5.0及以上中service的intent一定要显性声明,当这样绑定的时候不会报错。
回复 支持 反对

使用道具 举报

发表于 2017-3-18 16:00:24 | 显示全部楼层
mumumusuc 发表于 2016-9-20 10:30
Android5.0及以上中service的intent一定要显性声明,当这样绑定的时候不会报错。 ...

android 6.0 不能剔除OpenCv Manager ,这个有办法解决吗,大神
回复 支持 反对

使用道具 举报

发表于 2017-3-25 12:26:07 | 显示全部楼层
e.g:
Andord5.0以上你如果想要跨线程bind 一个service必须使用显示Intent。
以前bind 一个service是这样
Intent i = new Intent(Action_Start_Your_Service);
Context.startService(i);
在Android5.0之后,需要这样:
Intent i = new Intent(Action_Start_Your_Service);
i.setPackage(Service_Package_Name);
Context.startService(i);
如果Service代码处在你引入的jar包中,但是却是多线程任务,你应该能在你的AndroidManifest中找到该Service的包名。
GoodLuck~
回复 支持 反对

使用道具 举报

发表于 2017-3-26 10:23:36 | 显示全部楼层
完全不需要OpenCV Manager的,

我一直这么干,直接Call SDK,不行的话私信我!
回复 支持 反对

使用道具 举报

发表于 2017-3-26 10:24:09 | 显示全部楼层
shijiajin 发表于 2017-3-18 16:00
android 6.0 不能剔除OpenCv Manager ,这个有办法解决吗,大神

有的,直接导入so文件即可
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-20 18:27 , Processed in 0.009623 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表