博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android引用百度定位API第三方组件后导致其它.so文件无法正常加载的问题
阅读量:6555 次
发布时间:2019-06-24

本文共 789 字,大约阅读时间需要 2 分钟。

查看当前调试设备CPU架构的方法:

adb.exe shell getprop ro.product.cpu.abi  (一般返回值为:armeabi-v7a)

adb.exe shell getprop ro.product.cpu.abi2(一般返回值为:armeabi)

问题场景:

  1. 在 Android Library Project A 引用 百度定位组件 
  2. 在 Android Library Project B 引用 百度推送组件
  3. 在 Android Project Lancher 引用 A、B类库工程
  4. 正常情况下】运行后使用Root Explorer查看/data/data/x.x.lancher/lib目录中
  5. 现在的情况下】此时运行后,导致 工程B 的libbdpush....SO库 没有正常释放到 /data/data/x.x.lancher/lib 目录中
    导致了各种因为无法加载so库才出现的异常如:

    java.lang.UnsatisfiedLinkError: Couldn't load zbar: findLibrary returned null

    java.lang.NoClassDefFoundError: com/zbar/lib/ZbarManager

 解决方案:

  • 删除 工程A 中的 工程B 不兼容的CPU架构 ,只保留和 工程B 一样的CPU架构 即可。
    即 工程A 只保留 以下CPU架构:armeabi、mips

经验总结:

  • 在引用各种第三方类库时,还得注意类库之间的兼容性,必须保证都兼容同样的CPU架构 ,才能保证程序不会出现莫名其妙的异常。

By:AsionTang

At:2015年5月26日 12:15:32

转载于:https://www.cnblogs.com/AsionTang/p/4530286.html

你可能感兴趣的文章
Python的未来和Python的意义 & pypy & JIT
查看>>
python算法与数据结构-冒泡排序(32)
查看>>
hdu 1032 水题也wrong 两次(于是乎更有刷水题的必要了)
查看>>
hdu 1860 (统计字符)(stl)
查看>>
HDU-1087 Super Jumping! Jumping! Jumping!
查看>>
numpy数组及处理:效率对比
查看>>
composer出现Invalid credentials for ‘https://packagist.phpcomposer.com/packages.json’的错误
查看>>
常用搜索指令
查看>>
ViewPager实现引导页
查看>>
使用XSLT生成Nunit测试报告
查看>>
[分类算法] :朴素贝叶斯 NaiveBayes
查看>>
optional的使用
查看>>
如何恢复误删除的Linux文件
查看>>
重置CentOS6.5的登录口令
查看>>
DES加密
查看>>
SQL-51 查找字符串'10,A,B' 中逗号','出现的次数cnt。
查看>>
Android Apk 瘦身大法
查看>>
Python线程event
查看>>
编译内核开始的小问题Unable to find the Ncurses libraries
查看>>
C# 编程数据结构学习笔记 2
查看>>