只是记录一下,搞了一下午.
一开始是报的错里包含一堆的dex文件,咋一眼觉得肯定是分包出了问题,但觉得项目的分包都是android studio的默认配置,所以问题不会在这,百度了一通,有个哥们说的(原谅我找不到链接了,莫怪),发现android studio里setting--------->build,execution,deployment---------->instant run里有个enble instant run to hot swap....(这里就不抄了,太累)选项,默认是勾选的,去掉了就好了。
但是又出了如下的报错:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.couriers-2/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.couriers-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libstlport_shared.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:988)
我先尝试了添加mips,x86等cpu架构的so库都不行,最后还是直接删除了apk里不同架构的so库文件夹后,通过豌豆荚安装才正常启动了。
再参考了这篇文章,http://blog.youkuaiyun.com/huweijian5/article/details/51669951。只保留了armeabi,终于解决了:
android { // rest of your app's logic splits { abi { enable true reset() include 'armeabi' universalApk false } } }