android 解决aar二次封装问题
程序员文章站
2024-03-15 19:28:48
...
项目要提供给它方使用,但是自己项目中又使用到了别的第三方的aar,又不能提供module的lib,只能在aar的基础上进行二次封装
一、什么是aar
AAR文件是一种Android归档包(类比Jar:Java Archive),这种归档包是由Gradle构建库的Android Library插件产出的。它是一个压缩包,里面的内容可以总结为5个目录和5个文件,如图所示:
二、aar合并
采用合并的第三方插件是 android-fat-aar
地址:https://github.com/adwiv/android-fat-aar
这个插件 可以兼容到3.0以后,唯一缺点好像是不能合并aidl,
官方文档:
所以:在自己二次封装的时候尽量避免这些问题(一般不会出现aidl的合并)
合并过程
新建项目工程:
1.在工程的build.gradle中引进插件:
classpath 'com.kezong:fat-aar:1.2.5'
2.新建androidLibrary:(如图所示)
在新建的library中使用:
apply plugin: 'com.kezong.fat-aar'
在library中集成第三方aar
3.生成aar文件即可
如果自己使用新工程需要引进生成的aar,出现引入包重复,去掉重复的即可
最后顺遍说一下 implementation 、CompileOnly、api的区别
gradle3.0对gradle2.x的代替:
compile依赖关系已被弃用---->被implementation和api替代,
provided ----->被compile only替代,
apk ------>被runtime only替
解释一下:
implementation、api:
api和compile是一样的效果,implementation有所不同,通过implementation依赖的库只能自己库本身访问,举个例子,A依赖B,B依赖C,如果B依赖C是使用的implementation依赖,那么在A中是访问不到C中的方法的,如果需要访问,请使用api依赖
compileOnly:
compileOnly和provided效果是一样的,只在编译的时候有效, 不参与打包
runtimeOnly:
runtimeOnly 和 apk效果一样,只在打包的时候有效,编译不参与
上一篇: 简单路由的实现
推荐阅读
-
android 解决aar二次封装问题
-
android开发,volley的二次封装和使用
-
Android JNI开发解决Error occurred while communicating with CMake server问题
-
Android Fragment多层嵌套重影问题的解决方法
-
微信支付仅能成功调用一次问题的解决方法(Android)
-
Android二次封装okhttp网络请求框架
-
Android 订单管理,查询,修改,MVP,OkHttp3的二次封装,
-
Android实现QQ登录界面遇到问题及解决方法
-
Android实现QQ新用户注册界面遇到问题及解决方法
-
Android SDK Manager解决更新时的问题 :Failed to fetch URL...