如何让自己的SDK更安全?让自己的逻辑对用户完全透明?
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里面添加下面的内容(注:文件最外层添加),如下图:
<br />task makeJar(type: Copy){<br /><%%KEEPWHITESPACE%%> delete 'build/libs/test.jar'<br /><%%KEEPWHITESPACE%%> from('build/intermediates/bundles/default/')<br /><%%KEEPWHITESPACE%%> into('build/libs/')<br /><%%KEEPWHITESPACE%%> include('classes.jar')<br /><%%KEEPWHITESPACE%%> rename('classes.jar','test.jar')<br />}<br /><br />makeJar.dependsOn(build)<br />
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解析,才是有效的。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。