首先讲如何引入第三方的jar包:一般来说新建的项目没有引用jar包的,所以要切到project目录结构,然后把第三方的jar包放到"project/app/libs"目录下,然后在切换成android目录结构,这个时候不会出现"jniLibs"目录,所以需要我们在build.gradle的android{}中添加一句话:
下面将怎么添加aar资源,流程上和导入jar包相似,但是需要配置两个不同的地方:
.
然后重新sync一下project就行。
导入第三方的资源多了之后就会出现冲突,冲突有两种:一种是jar包冲突,我在集成某公司语音引擎的时候引入了gson-2.2.1.jar,然后在集成第二家公司语义库的时候,第二家公司语义库使用了gson-2.8.0.jar,然后这两个包就冲突了,这种错误比较容易解决,在编译报错时一般会指出哪两个文件冲突,只需要删除一个就行了。
还有另外一种错误,我也是百度了之后才找到的,报错内容:
Error:The number of method references in a .dex file cannot exceed 64K.
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
com.android.ide.common.process.ProcessException:………………………………………… finished with non-zero exit value 2在我第一次引入aar的时候看到了"finished with non-zero exit value 2",首先想到的就是jar包冲突,然后询问了第二家技术人员,只找到了gson这个jar包有冲突,没发现其它jar包冲突,我还天真的以为是某个包和aar里的资源包名不同但是引入的jar包是相同的
在build.gradle加入如下内容:
另外:有一篇内容讲这个讲的很全面,这里附上链接《其实你不知道MultiDex到底有多坑》