{"action":"created","issue":{"url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/353","repository_url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer","labels_url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/353/labels{/name}","comments_url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/353/comments","events_url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/353/events","html_url":"https://github.com/lipangit/JieCaoVideoPlayer/issues/353","id":175008578,"number":353,"title":"部分手机上报：couldn't find \"libijkffmpeg.so\"","user":{"login":"NateRobinson","id":12446758,"avatar_url":"https://avatars.githubusercontent.com/u/12446758?v=3","gravatar_id":"","url":"https://api.github.com/users/NateRobinson","html_url":"https://github.com/NateRobinson","followers_url":"https://api.github.com/users/NateRobinson/followers","following_url":"https://api.github.com/users/NateRobinson/following{/other_user}","gists_url":"https://api.github.com/users/NateRobinson/gists{/gist_id}","starred_url":"https://api.github.com/users/NateRobinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NateRobinson/subscriptions","organizations_url":"https://api.github.com/users/NateRobinson/orgs","repos_url":"https://api.github.com/users/NateRobinson/repos","events_url":"https://api.github.com/users/NateRobinson/events{/privacy}","received_events_url":"https://api.github.com/users/NateRobinson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-09-05T07:14:58Z","updated_at":"2016-09-05T13:29:21Z","closed_at":null,"body":"线上产品报找不到so库，引起crash，求大神指点如何加入判断控制\r\ncouldn't find \"libijkffmpeg.so\"\r\nat java.lang.Runtime.loadLibrary(Runtime.java:367)\r\ntv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary (IjkMediaPlayer.java:157)\r\ntv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce (IjkMediaPlayer.java:168)\r\ntv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer (IjkMediaPlayer.java:209)\r\ntv.danmaku.ijk.media.player.IjkMediaPlayer.<init> (IjkMediaPlayer.java:205)\r\ntv.danmaku.ijk.media.player.IjkMediaPlayer.<init> (IjkMediaPlayer.java:196)\r\nfm.jiecao.jcvideoplayer_lib.JCMediaManager.<init> (JCMediaManager.java:55)\r\nfm.jiecao.jcvideoplayer_lib.JCMediaManager.instance (JCMediaManager.java:49)\r\nfm.jiecao.jcvideoplayer_lib.JCVideoPlayer.releaseAllVideos (JCVideoPlayer.java:751)\r\ncom.crosscourse.spritedroid.ui.fragment.p.MsgViewFragment.onPause (MsgViewFragment.java:497)"},"comment":{"url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/comments/244747206","html_url":"https://github.com/lipangit/JieCaoVideoPlayer/issues/353#issuecomment-244747206","issue_url":"https://api.github.com/repos/lipangit/JieCaoVideoPlayer/issues/353","id":244747206,"user":{"login":"YuJunKui2016","id":20285008,"avatar_url":"https://avatars.githubusercontent.com/u/20285008?v=3","gravatar_id":"","url":"https://api.github.com/users/YuJunKui2016","html_url":"https://github.com/YuJunKui2016","followers_url":"https://api.github.com/users/YuJunKui2016/followers","following_url":"https://api.github.com/users/YuJunKui2016/following{/other_user}","gists_url":"https://api.github.com/users/YuJunKui2016/gists{/gist_id}","starred_url":"https://api.github.com/users/YuJunKui2016/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YuJunKui2016/subscriptions","organizations_url":"https://api.github.com/users/YuJunKui2016/orgs","repos_url":"https://api.github.com/users/YuJunKui2016/repos","events_url":"https://api.github.com/users/YuJunKui2016/events{/privacy}","received_events_url":"https://api.github.com/users/YuJunKui2016/received_events","type":"User","site_admin":false},"created_at":"2016-09-05T13:29:21Z","updated_at":"2016-09-05T13:29:21Z","body":"android下目前有这几种架构的cpu\r\nARMv5，ARMv7，x86，MIPS，ARMv8，MIPS64和x86_64\r\n你apk一般包涵以上某几种cpu架构的so文件。当应用安装在设备的时候只会把对应cpu架构的so引入。\r\n其实一个cpu架构不只支持一种so。arm可以兼容。大部分x86的cpu可以兼容arm的，64位的cpu也可以运行32位的so，当然运行效率肯定没有对应的好，相关优化也没有，安卓碎片化的问题，很可能某个x86的cpu不支持arm兼容，或者运行起来很卡。\r\n下面将你出现的问题，群里你说你的是运行在64位cpu下出的崩溃问题\r\n比如我的项目中 有微博的SDK  微博可能提供了ARMv7，x86，MIPS，ARMv8，MIPS64和x86_64平台的。\r\n当前我再去用JCVD，只引如了ijk的 armv7的包。这样我的项目会在mips   mips64  x86_64 等机器上出现crash\r\n\r\n系统在装载So文件的时候会先检查当前cpu是否有对应的so  如果没有则查看是否有适配包的\r\n如果没有会crash ，上面的实例中运行在mips的时候 他发现有mips的文件夹就会傻傻的认为 微博和JCVD都提供了mips的so，这样在使用JCVD的时候就会发生crash\r\n\r\n解决你的问题 你可以结合上述 干掉某些so，其实最简单的是 设置\r\ndefaultConfig {\r\n　　　　...\r\n　　　　ndk {\r\n　　　　abiFilters \"armeabi-v7a\",“xxcpu架构\"\r\n　　}\r\n\r\n}\r\nabiFilters后面保证你每个sdk提供的so都有，其实你看懂上述的内容 都不用这个配置可以搞定的\r\n最后一点  不要以牺牲某个cpu构架的so来减少apk大小，尽可能使用更多cpu构架的so"}}
{"actor":{"display_login":"YuJunKui2016"}}