自定义属性
xmlns:app="http://schemas.android.com/apk/res/包路径"
但如果你当前工程是做为lib使用,那么你如上所写 ,会出现找不到自定义属性的错误 。
这时候你就可以 写成
xmlns:app="http://schemas.android.com/apk/res-auto"
作为library工程可以引用外部jar包,但不能引用其它library工程,在library工程中不能使用aidl文件,不能引用raw、assets下资源
1.两个Library不能互相引用
2.Library中的Drawable文件不能被项目中使用(该项有待进一步确认)
3.由于在项目中使用的上下文对象是属于当前项目,所以在Library中获取文件对象Context.getAssets().open("fileName.txt"); 该文件应该放在项目里的assets。(该项有待进一步确认)
4.Library中不能使用View注入框架(如:BufferKnife),因为Library R文件里文件的id都是静态变量,而需要的是常量(Android项目中生成的就是常量)。但是,如果把框架放在Library中,项目中是可以用该框架的。
5.Library可以有自己的子Library
6.缓存问题:如果在编码时,一个子Library中的代码修改了,父Library中不能加载子Library中修改的代码,需要把子Library取消引用,再导入引用就好了。
7.若使用库中的activity之类的,需要在项目的AndroidManifest.xml中重新定义。因为manifest 配置文件是独立给工程的,不能复用。可以在Library不声明Activity,但是在project中必须声明。
8.资源同名的话,项目中的资源会覆盖库中的资源。
9.使用Library之后properties 文件中会多了一个引用的定义。
10.Android Library可以重复使用java类,android组件和资源,但是assets的资源不会被重用。
网友评论