android集成阿里云视频录制踩过的坑

项目中需要用到短视频拍摄,带滤镜带美颜功能的,由于种种原因吧最后老板选择了阿里云的短视频录制,看了一下集成文档感觉特别简单,写了一个demo也就几分钟程序就跑起来了,接到项目中,点击拍摄程序崩溃,查看了logcat

java.lang.NoSuchFieldError: No field height of type I in class Lcom/aliyun/snap/snap_core/R$id; or its superclasses (declaration of ‘com.aliyun.snap.snap_core.R$id’ appears in /data/app/com.rablive.jwrablive-2/base.apk:classes2.dex)的错误 —- (重要)

提示的是这个问题,查看了下阿里云的文档 https://help.aliyun.com/knowledge_detail/57374.html?spm=5176.doc53421.6.728.yc3GkR,文档上面说是因为项目中有xml文件和阿里云aar中xml文件重名了,导致阿里云视频录制界面查找id找不到。问题是个挺简单的问题,于是开始查找项目中的同名xml文件,发现找来找去没有同名的xml文件,这就感觉有点坑了,那就说明只能是第三方的东西和阿里云冲突了,但是第三方东西那么多怎么去一个一个查找呢,突然想到一个简单的办法
LayoutInflater.from(this).inflate()
在某个activity中使用布局加载器,加载那个重名布局,你会发现会加载很多个让你去选择,然后仔细看看其他的布局都是出在那个第三方里,这样就很快的找到那个重复的xml了,然后需要做的一件事情就是,把那个第三方的代码和布局文件复制粘贴到项目中,删除第三方jar包,修改重名的xml。再次运行项目问题就迎刃而解了。虽然很简单,但是有时候真的没有想这么多,就会耽搁很长时间。








你可能感兴趣的:(阿里云视频录制)