如何解决aar中的第三方依赖无法调用问题
来源:互联网 发布:淘宝历史价格查询插件 编辑:程序博客网 时间:2024/05/22 06:31
如何解决aar中的第三方依赖无法调用问题
背景:
近日公司需要做一个信息流的项目,嵌入到已经存在app中,为了让信息流的模块进行独立,需求是将信息流模块打包成aar形式,单独集成到主项目中.
问题:
在集成的过程中遇到了一些问题,如果将aar放到lib目录下,aar里面依赖的第三方库无法调用,因为编译aar的时候,并没有将第三方依赖的库编译到aar中,aar中只有源代码\资源文件等.
解决方案:
在网上搜了一大堆解决方案,有说在主项目中把aar需要的依赖加上,虽然说也可以,但是违背了项目需求的意愿,不能满足将某个模块抽取出来,想使用的时候就集成进去,不想用直接不集成.
而这里要提出的解决方案是将aar打包发布到本地的Maven仓库,如果公司有私服的话,可以直接放到私服上,私服上会自动让aar继续依赖其他的第三方库,这样在主项目中就可以在build.gradle中以依赖的形式来集成aar.
具体操作:
首先在开发的模块中的build.gradle中加入上传本地Maven仓库的配置:
apply plugin: 'maven'uploadArchives { repositories { mavenDeployer { pom.groupId = "com.crypt.lord.feature.news" pom.artifactId = "newsclient-release" pom.version = "1.0.0" repository(url: "file://localhost/" + "Users/hepengcheng/Library/Android/sdk" + "/extras/android/m2repository/"); } }}
我这里建立的是本地仓库,如果有自己的私服的话,可以这样配置:
apply plugin: 'maven'uploadArchives { repositories { mavenDeployer { pom.groupId = "com.crypt.lord.feature.news" pom.artifactId = "newsclient-release" pom.version = "1.0.0" repository(url: "http://localhost:8081/nexus/content/repositories/newsclient/") { authentication(userName: "admin", password: "admin123") } } }}
然后在命令行中进行编译:gradle uploadArchives
最后在主项目中进行引用:
配置仓库地址repositories { flatDir { dirs 'libs' } maven { url "https://jitpack.io" } maven { url "http://172.16.18.155:8081/repository/android.lianmeng" }}
引用aarcompile 'android.sdk.news:newsclient-release:1.0.0'
搞定!
阅读全文
0 0
- 如何解决aar中的第三方依赖无法调用问题
- 解决第三方登录无法授权问题
- spring boot解决第三方jar包依赖的问题
- spring boot解决第三方jar包依赖的问题
- android studio导出aar,提供SDK给第三方调用
- 解决 Windows 下 scrapy 第三方库无法安装问题
- 如何解决jquery与第三方插件库冲突问题
- Storm 如何分发第三方依赖jar
- 如何让自已在GitHub的开源库给第三方App依赖调用
- 解决从eclipse转到Android studio依赖第三方后打包出现问题
- 解决导入第三方框架v4包重复依赖的问题
- webpack:使用expose-loader 解决第三方库的插件依赖问题
- Android studio 混淆打包时如何忽略依赖库中的第三方.so文件
- 添加静态库到android out目录,解决加入第三方依赖静态库的依赖问题
- 如何解决Firefox26第三方插件无法工作,提示需要激活?
- 本地引用aar格式第三方包
- AndroidStudio使用第三方aar包步骤
- 第三方依赖
- Word表格不能调整宽度的解决方法
- HDU 1281 棋盘游戏 二分匹配 匈牙利算法
- Spark操作hive遇到的问题
- 安卓串口读写
- ios异步中实现按序下载队列
- 如何解决aar中的第三方依赖无法调用问题
- Python判断--文件和文件夹--是否存在的方法
- ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting B
- 浅谈Object.defineProperty()
- intellij idea打开打开自己copy或者下载的项目
- 音视频编解码简易介绍
- 第23讲项目6-前导0的数字
- AdjustWindowRect 与 SetWindowPos
- Linux 启动卡在Starting kernel ...