1.利用好混淆
2.建造者模式
3.尽量抛出异常,让接入者看到
在Android Eclipse时代,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,
aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源等,
所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,
但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。
aar文件其实是一个Android Library项目的二进制包。
aar文件(.zip)的格式如下。
- /AndroidManifest.xml (必须)
- /classes.jar (必须)
- /res/ (必须)
- /R.txt (必须)
- /assets/ (可选)
- /libs/*.jar (可选)
- /jni//*.so (可选)
- /proguard.txt (可选)
- /lint.jar (可选)
1、先使用Android Studio(写博文用的是AS3.0)创建项目工程;
2、在项目里面新建一个module;新建一个Class文件,然后添加一个方法(这个方法是要提供给别人使用的),例如:
3、在module的gradle里面添加下面的内容(注:文件最外层添加),如下图:
task makeJar(type: Copy){
delete 'build/libs/test.jar'
from('build/intermediates/bundles/default/')
into('build/libs/')
include('classes.jar')
rename('classes.jar','test.jar')
}
makeJar.dependsOn(build)
4、点击Sync Now,等Android Studio运行完成后,点击右上角的Gradle按钮,如下图:
5、双击makeJar按钮,等到运行结束,就可以看到build/outputs/aar这个文件夹下面生成了.aar文件
6、先把 .aar复制到要使用的项目的libs下,build.gradle里面添加如下依赖
7、如何使用
8、注意事件:
1、编译时会报jar冲突,因为你的arr文件引用了和目前项目相同的jar包,删除当前项目的jar包,让它引用arr文件里的jar包。
2、arr文件中的类名和布局命名不要和当前项目相同,否则arr文件的类名和布局会找不到或者arr文件里会引用当前项目的资源
3、arr文件中的在application里需要初始化的东西都需要在当前项目的application里面初始化,因为那第一个声明的才会被PackageManager解析,才是有效的。
9、感谢如下小伙伴:
1.http://blog.csdn.net/myislijingjing/article/details/54289581
2.https://www.2cto.com/kf/201711/700840.html
3.http://blog.csdn.net/david_dyk/article/details/51648334
4.https://www.jianshu.com/p/c203f6afc06a