• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

Android

办理安卓打包apk安置后翻开闪退的问题

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/Android/2019/0612/538.html

 

 体系版本

Android Studio版本

Build APK方式生成APK

调试的时候好好的,将打完的包传输得手机长进行安置,安置胜利,不过一翻开就闪退。

 

没办法,只好通过在号令交运行adb logcat来抓取下log,发现闪退缘故是:

 

com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/librealm-jni.so

 

这是由于我程序里用到了Realm数据库,看样子应用这个数据库有个大坑啊,没办法,只好种种谷歌了

 

log截图

由于涉及到lib库,我还得从android的架构看起,终究弄懂了lib/armeabi/是个甚么鬼,简单地说,这是为了支撑那些特别特别老的手机用的库,感谢底下这篇文章的讲解

 

https://blog.csdn.net/u012400885/article/details/52923765

 

终极凭据官方文档找到了缘故https://realm.io/docs/java/latest/#couldnt-load-librealm-jniso

 

 

意思是Android同时载入32位和64位的lib库时会有问题,是以把64位的库破除出去,在App的build.gradle中增加

 

//过滤掉不支撑的领域

 

    packagingOptions {

 

            exclude"lib/arm64-v8a/librealm-jni.so"

 

    }

 

留意必然不要多加,我看有的文章让同时加上了exclude "lib/mips/librealm-jni.so"等等,这些加了反而会有问题。

 

从新编译打包,安置,统统OK!

 

 

 

本日在生手机上应用,还发现了一个问题,也是翻开后碰到闪退,发现照旧librealm库的问题,从新找了下文章,发现这篇文章很有效Mixing 32- and 64-bit Dependencies in Android

 

上篇:上一篇:Android几种Service常驻内存的小思绪
下篇:下一篇:android 通知(关闭声音和震动)