安卓集成萤石

安卓在集成萤石的视频后,萤石云的接口改变了,需要升级依赖的jar包和so文件,一开始并不知道需要集成哪些jar和so,开发手册中也没有提到具体需要依赖哪些,后来才发现,原来下载的demo里的所有jar和so都是需要拷到自己的项目里

这里的全部jar文件

还有这里的全部so文件

 

 so文件有 armeabi-v7a  、  arm64-v8a 两个版本的,据我所知,由于我的项目sdk版本低,只用到了 armeabi-v7a 一种,如果是两种都有的, 需要把两种都考到项目里

 由于项目加入的jar包越来越多,还需要在  project.properties 文件中加一个配置

dex.disable.merger=true

方案来自于:

https://www.cnblogs.com/mfrbuaa/p/3907177.html

摘抄:

最新的ADT和SDK Tool在将jar转化成dex的时候,可能会合并类的代码,这将导致巨大的类;类中的每个方法都分配有一个id,字节码中以id标识和调用方法;早期的Dalvik VM内部使用short类型变量来标识方法的id,最大值限制在65535;综合上述因素,代码在安装的时候,不能通过验证,所以安装失败。
最新的Android可能已经攻克了这个问题,可是更早的Android版本号可能仍然存在此问题。
因此,因为大量遗留机器的存在,这个问题是不能彻底解决的,一个暂时的解决方式是:删掉没有实际使用的代码,或者使用ProGuard处理代码(能够减小代码体积)。
一个不幸的推论是:随着一个软件功能的添加,代码的膨胀,APK包终将超出能够处理的范围,或许就是8M(指APK包里面的classes.dex).

原文地址:https://www.cnblogs.com/LcxSummer/p/13050021.html