怎么关联多个库 。 A B C D,A依赖BC,D依赖A,怎么搞?
注意: as和idea里面,project是工作空间的意思,这里面model才是项目。
-
打开主项目D
-
打开已经存在的model
导入需要依赖的项目:(默认即可)
注意:下面这种操作是错误的
-
依次导入各个项目
如下图所示:
-
配置库文件
Lib包需要直接添加不要单独添加,上面有很多无用的包,需要去除掉。
以上的意思是,我们需要把.jar包放在libs里面,然后一起添加。如下所示:
一定要注意全部是第三个Module Library。不是project library。
正确的配置如下:
对于下面只有一个support – v4 的,我们需要右键单独添加即可。多的话,我们需要整个libs添加。
添加依赖:
打开project structure
依次的配置如下:
-
添加主项目
点击下面的图标添加主项目
打开后出现下面的信息:
设置完之后如下图所示:
打开 proj structure 出现下面的配置信息:
配置过程中,可能出现的错误
以上是错误是由于 包重复引起的,这个时候,你需要查看一下,你的这几个项目中的libs中有没有重复的包名。
我就是重复了support – v4包。
解决办法:
- 清理project – structure 下面的导入包,只留下你依赖的几个选项,删掉多余的包。不要有单独的包,因为单独的包都在libs里面。那是我们手动添加的,已经添加过了,不要有重复。
-
删掉所有项目中,重复的support-v4包。
对于导入包前面的勾的问题,一般需要勾上,有些可以不勾,但是这里很奇怪,我不勾的话,项目就直接报错了,说是找不到。所以我个人认为,假如有多个依赖,你需要勾上,只有一个model的吧,勾不勾无所谓,但是有多个依赖,必须要勾上。比如说下面的情况,因为zhlib是zhevent的依赖包,所以,这里需要添加export。这就相当于eclipse里面的is library 前面的那个勾。
还有一些错误,比如说包找不到等等,这些都是配置文件的问题,就是我刚刚分析的勾到底勾不勾的问题。
-
我的项目里面需要添加注解:
参考资料:http://www.it165.net/pro/html/201404/12375.html butterknife 的应用
要是不在编译选项里面加上butterknife,我们的程序就会死在这。
顺便提一句,要用注解的话,我们需要在oncreate里面初始化注解的,比如: ButterKnife.inject(this); 不然返回空指针。
设置如下:
这个设置对应于eclipse里面的这个设置: