知识汇总:自定义属性(lib的引用问题)

自定义属性
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的资源不会被重用。

    原文作者:Jennyni1122
    原文地址: https://www.jianshu.com/p/ee054b71c387
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞