@nicevar 比如你在 library A 里面 compile 了一个第三方的库 B ,然后打包成 aar 。 你在你自己的项目 C 中调用 A 里面的代码(用到第三方库 B ),不会报找不到第三方库 B 的错误吗? 我这边一运行就报找不到第三方库 B 的错误。然后在 GitHub 上找到一个项目叫 fat-aar 的,说是会把第三方的库也打包进 aar 。但是我一运行就报 Multiple dex files define 的错误。 我在项目 C 里面并没有重复 compile 这个第三方库 B 呀。还是说我的用法不对?
nicevar
2017-03-08 19:16:33 +08:00
@tongpeng1995 如果你 A 里面只是编译中使用了 B 库,而不是完全将 B 的类打进 aar ,你在 C 里面当然找不到类了,这种情况你依然要引入 B 库也就是你还需要引入 B 的 aar ,最简单的判断方法你解压出来 A 的 aar 看一下里面的 class 不就明白了,同样你用 fat-aar 打包出来的肯定是多次引入了,去检查一下编译过程 另外将 jar 完全打入 aar 中这种需求很少碰到的,一般都是在厂商修改了 Framework 的情况下用到,平时的项目没必要,我觉得你们应该走向了一个误区,其实在 repositories 引入 aar 目录,然后在 dependencies 里面添加所需的 aar 就行了