Android添加.so文件的问题

2016-12-20 遇到的一点小问题

项目用的第三方东西有点多,关于so文件,之前一直是给的啥都往项目里面放。一直没出问题。然后不知道是哪里开始的,之间没改过啥,只是重装系统,Android Studio 升级到2.2.3,然后打包的文件就从13M变成18M了,有些机器再运行到某个第三方的东西时就出错了。

12-13 14:13:27.210 10881-10881/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.wannoo.wan, PID: 10881
                                                   java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-zixing-core-3.2.0_2cecb648d0bab211f57264a2f1d933dc52dcde44-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-tbs_sdk_thirdapp_v2.3.0.1048_36801_sharewithdownload_obfs_20160829_200437_9303320e09110fe499fc3123bd50a361f5d24f96-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-support-annotations-25.0.0_904bc094887d40e9de47d377e8b532755b53c326-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_9-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_8-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_7-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_6-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_5-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_4-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_3-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_2-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_1-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-slice_0-classes.dex", dex file "/data/data/com.wannoo.wan/files/instant-run/dex/slice-rxjava-1.2.1_aa891a92fd7005674dbfb16a988b401dae763c6b-classes.dex", dex file 

Android添加.so文件的问题_第1张图片
Android错误放置so文件

类似这样一堆错误。之前一直没问题的,,,第一次遇到这种错误,网上搜的基本没用。还好四木发了两个链接过来
https://zhuanlan.zhihu.com/p/21359984
http://www.jianshu.com/p/cb05698a1968
一直没这方面的相关常识,这回总算大概知道了。
把其他文件夹删掉,只保留armeabi和armeabi-v7a这两个,且保持里面文件一样。就可以了
Android添加.so文件的问题_第2张图片
so文件夹

可惜有个厂家没提供arm64-v8a的支持文件,又不能直接从别的文件拷过去,因为会提示
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.tugouzhong.micromall-1/lib/arm64/libNFC01.so" is 32-bit instead of 64-bit性能有影响就先不管了,能用就行。
不过这样在genymotion模拟器就没法使用了,会提示。
Android添加.so文件的问题_第3张图片
genymotion无法运行

因为这个需要x86的so文件夹,之前有下载兼容文件,不知道丢哪去了,先不用了,等找到再安装在genymotion上。

你可能感兴趣的:(Android添加.so文件的问题)