为了功能模块化和功能的复用,我们可以把具体的模块封装成库,做成.aar文件供别人项目使用,但是在开发library的时候可能会用到其他第三方的库,一般我们会在library的gradle文件中进行添加依赖,但是在将library制作成.aar供其他的项目使用的时候,如果用到第三方远程库里面的资源会报错,找不到。

业务场景

  • myapp 依赖于mylibrary-release.aar
  • library-release.aar又依赖于xxx-第三方
  • 当myapp使用xxx-第三方第三方的时候会出现资源找不到而崩溃

具体操作如下

1、 创建一个myapp测试项目
2、然后new Module创建一个library;
3、 library在开发的时候依赖第三方远程库 thirdLib

implementation 'xxx.xxx:thirdLib'

4、 library中功能写完了可以打包成 library-release.aar供别人使用,aar打包方法
5、myapp中使用library-release.aar,首先将library-release.aar复制到app的libs目录下,然后再app的gradle文件中做如下配置

android {。。。。repositories {flatDir {dirs 'libs'}}
}
dependencies {//自定义库compile(name: 'library-release', ext: "aar")
}

6、做完以上配置就可以run app到手机上进行验证library中的内容是否可用;会发现library中基础功能界面是没问题的,但是当涉及到thirdLib中的内容的时候就包资源找不到崩溃(比如thirdLib是调用扫码功能)

解决方案

将thirdLib的依赖同样的放到app的gradle中,如下

android {。。。。repositories {flatDir {dirs 'libs'}}
}
dependencies {//自定义库compile(name: 'library-release', ext: "aar")//第三方依赖implementation 'xxx.xxx:thirdLib'
}

这么配置了重新打包运行,就能找到thirdLib的资源了,(比如扫码功能就可以正常使用了)

与一番三

要是有n个第三方也是同样的操作;其实不依赖远程库,将远程库做成.aar供library使用也是同样的套路;不足就是应用的地方重复太多,给别人使用不怎么方便,得提供对应的配置文档,如果有更好的方式可以交流。所以我这是最笨的方式哦

最笨的解决android打包aar中引入远程依赖资源加载不到的问题相关推荐

  1. Unity中的三种资源加载和卸载

    前言 内容转载自: https://www.cnblogs.com/zhoujiangyue/articles/7066070.html. Unity中三种资源加载方式: 1.静态引用.具体操作:创建 ...

  2. android 打包aar,和引入aar

    一:先把项目修改为 "library" 修改app下的build.gradle中的 "apply plugin:'com.android.application' &qu ...

  3. 卓盟科技: 动态资源加载技术背后的兼容性升级 | Android 开发者故事

    在游戏变得日益复杂的今天,一根加载进度条不再仅仅只是开启冒险的倒计时,更是连接玩家与开发者的信使. 玩家们总是希望游戏能马上加载完毕,这意味着 "加载" 这件事情本身也有轻重缓急: ...

  4. composition java_阿里P7架构师通过源码浅析Java中的资源加载

    一. 前提 最近在做一个基础组件项目刚好需要用到JDK中的资源加载,这里说到的资源包括类文件和其他静态资源,刚好需要重新补充一下类加载器和资源加载的相关知识,整理成一篇文章. 二. 什么是类加载器 虚 ...

  5. Android 打包aar包含第三方aar 实践

    Android 打包aar包含第三方aar 因项目需要,打包aar包含第三方aar,如果直接对module进行打包会产生一些问题. * What went wrong: Direct local .a ...

  6. android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题...

    android  在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: 1 @Overr ...

  7. 【Web】解决简书图片不显示问题“系统维护中,图片暂时无法加载”

    个人博客: http://www.milovetingting.cn 简书不显示图片的解决方法 首次编辑于2019-6-6 最近几天在浏览简书上的文章时,发现图片显示不出来,提示"系统维护中 ...

  8. java动态加载jar时,jar中还有第三方jar无法加载的解决方法

    java动态加载jar时,jar中还有第三方jar无法加载的解决方法 当java插件化开发时,即一个java程序在运行的情况下动态加载另一个jar,网上大多数的方法如下 public static v ...

  9. android progressdialog 背景色,怎么在android中利用ProgressDialog实现一个加载效果

    怎么在android中利用ProgressDialog实现一个加载效果 发布时间:2020-12-07 17:00:07 来源:亿速云 阅读:77 作者:Leah 怎么在android中利用Progr ...

最新文章

  1. 技术人生:如何成为一位优秀的程序员
  2. 计算机机械应用,浅析计算机技术在机械自动化的应用(原稿)
  3. java积分签到功能_大河客户端积分商城上线,看新闻就能换取各种超实用奖品,来约...
  4. 致远今目标移动APP无法脱离PC单独使用
  5. 吴恩达DeepLearningCourse2-改善深层神经网络:超参数调试、正则化以及优化
  6. NB-IoTDTU对比于3G/4G DTU的区别和优势
  7. 【数字逻辑 Verilog】全面剖析数据选择器——从基础到拓展,从理论到设计的实现,从表面到本质
  8. 跨域获取后台数据undefined_同源策略amp;JSONP跨域
  9. typora插入代码设置_一篇文章教会你如何在Markdown文档中插入数学公式
  10. $(document).ready(function(){}), $().ready(function(){}) 和 $(function(){}) 三个区别...
  11. 【高级】思科设备实现城域网ISIS+BGP+MPLS ***多域互通实战
  12. ViT (Vision Transformer) ---- RNN
  13. 【百度网盘】电脑版百度网盘二维码无法加载的问题
  14. 等价类划分法-案例剖析-设计测试用例
  15. 提供小图标(Icon)的网站(不定时更新)
  16. 十二进制加计数器-20151112
  17. php eclipse aptana,Eclipse安装Aptana插件(注意对应版本问题)
  18. java pdf转jpg_java pdf转换jpg
  19. MAALA3.9_初等矩阵和等价 (Elementary Matrices and Equivalence)
  20. 编程序,用getchar函数读人两个字符给c1和c2,然后分别用

热门文章

  1. android 快写笔记本,【求推荐】(写代码/续航长/散热好)的笔记本 - 笔记本电脑(Notebook)版 - 北大未名BBS...
  2. 视频直播延时、直播延迟的问题
  3. 小米R4A-千兆版本刷机
  4. ESP32无法搜索到手机热点的解决方法
  5. 某宝sign逆向(以商品评论采集为例)
  6. The device ‘/dev/sdd1‘ doesn‘t seem to have a valid NTFS
  7. buu Reverse学习记录(19) [GWCTF 2019]pyre
  8. MyBatis-Plus 中的代码生成器-新版
  9. IP路由原理、静态路由及动态路由区分
  10. python网络爬虫实战3——抓取新闻内文相关信息