为减少强依赖,运行时动态监测依赖是否存在。

例如:内置的 HTTP client 可以是 OkHttpClient 或者是 HttpURLConnection。前者拥有更高的性能,但需要引入 OkHttp 作为依赖。如果用户不愿意引入 OKHttp 的话,它将会自动用回标准库的 HttpURLConnection。

public final class PlacesHttpClientResolver {public static final PlacesHttpClient PLACES_HTTP_CLIENT;static {boolean hasOkHttp;try {Class.forName("com.squareup.okhttp.OkHttpClient");hasOkHttp = true;} catch (ClassNotFoundException e) {hasOkHttp = false;}PlacesApiJsonParser parser = JsonParserResolver.JSON_PARSER;PLACES_HTTP_CLIENT = hasOkHttp ? new OkHttpPlacesHttpClient(parser) : new HttpUrlConnectionMapsHttpClient(parser);}private PlacesHttpClientResolver() {throw new RuntimeException("No Instances!");}
}

参考:https://github.com/hehonghui/android-tech-frontier/blob/master/issue-33/Android%20Libraries%E7%9A%84%E4%BE%9D%E8%B5%96%E7%AE%A1%E7%90%86.md

Library弱依赖打包相关推荐

  1. docker 不包含依赖 打包_Docker容器技术(概念篇)

    微信公众号:Java患者 专注Java领域技术分享 Docker介绍 Docker是基于Go语言实现的开源应用容器引擎,通过对应用组件的封装.分发.部署.运行等生命周期的管理,使的用户的应用及其运行环 ...

  2. python依赖打包

    依赖打包的好处 将代码所有的依赖打包进一个文件,当代码迁移至新的平台时仅需要一条命令便可以下载,方便又快捷, 而不用一个一个的安装依赖. 你可以选择在线打包和下载依赖,也可离线打包加载依赖,具体见下文 ...

  3. Unity3D资源管理——Unity2017 Assetbundle依赖打包

    Unity3D资源管理--Unity2017 Assetbundle依赖打包 http://gad.qq.com/article/detail/289272 一.运行环境 1.1编辑器版本 使用Uni ...

  4. docker 不包含依赖 打包_2019开启新学习,带你从零了解Docker

    2013年发布至今, Docker是近年来非常火的技术, 一直广受瞩目,被认为可能会改变软件行业.而且Docker不仅仅是Linux Redhat和Canonical等Linux巨头眼里的宠儿,微软等 ...

  5. maven多项目打包报错---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到 package xxx does not exist

    场景: springboot 项目多模块已成开发大势所趋,抽出一个parent父工程,子模块基础模块(包含一些公用的实体类和工具类等),以及其他子模块(Module A. Module B -).Mo ...

  6. 使用Maven Assembly plugin将依赖打包进jar

    一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...

  7. docker 不包含依赖 打包_从零开始学K8s: 4.Docker是什么

    "Docker"可以指代的对象可以有如下几个: Docker 容器技术:可以创建和使用Linux容器 Docker 社区:开源Docker社区致力于改进这些技术,使所有用户受益(h ...

  8. Maven构建分布式项目时子模块相互依赖打包技巧

    场景 最近在学习使用Jenkins自动化部署分布式微服务的时候,需要将微服务打成Jar包发送到服务器制作成镜像供Jenkins拉取运行,了解到 spring-boot-maven-plugin 插件可 ...

  9. maven 打包时缺少文件_maven父子工程---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到...

    场景: 因为之前用到的是,基于springboot框架所搭建的maven工程,而且都是相互独立的.现研发经理要求将所有工程进行整合和规范化,所以抽出一个parent父工程,base基础模块(包含一些公 ...

  10. docker 不包含依赖 打包_Docker打包深度学习项目(解决:Opencv依赖库、共享内存)...

    最近比赛要提交打包好的CNN模型给主办方去测试,使用Docker镜像.这可难倒了我这个小白,搞了好几天才打包好.在这里记录一下Docker使用过程,希望能给广大同学们提供点帮助. 文章内容包含以下3个 ...

最新文章

  1. 【php】目录操作 文件操作
  2. python入门:Anaconda和Jupyter notebook的安装与使用
  3. Java基础---File类,就是这么简单
  4. java并发编程工具类辅助类:CountDownLatch、CyclicBarrier和 Semaphore
  5. 鸿蒙移植stm32,韦东山老师要移植鸿蒙的那个STM32MP157具体是什么?
  6. Troubleshoot: R.Layout.Main cannot be resolved
  7. 开始使用Filebeat
  8. 浅谈Mysql 表设计规范(转)
  9. Seaborn绘制kdeplot和distplot
  10. android 取消选中状态,Android:显示/隐藏偏好检查/取消选中其他CheckBoxPreference
  11. php阿里云短信验证码
  12. 【3dmax千千问】食住玩初学3dmax插件神器第24课:3dmax自学渲染效果图教程|疯狂模渲大师、室内设计师、效果图绘图员都应该如何认识VRAY或扫描线CORONA渲染器及其VR核心算法的作用?
  13. QPainter文档
  14. 【考试总结贴】控制测量学
  15. typora 有道云笔记_利用神器Typora+PicGo,实现有道云不用会...
  16. iReal Pro for Mac(优秀的音乐练习参考工具)
  17. 资产负债表和利润表的编制公式
  18. 日语学习资料-N4(免费下载)
  19. OSX上pf的简单配置笔记
  20. springMVC源码分析--访问请求执行ServletInvocableHandlerMethod和InvocableHandlerMethod

热门文章

  1. MarathonLb的负载研究
  2. Linux下Tomcat使用80端口
  3. 天池客流预测–GBDT
  4. python中关于图例legend在图外的画法简析
  5. 【POJ 1456】Supermarket【两种做法】【二叉堆贪心】【并查集】
  6. Swager登陆跳转了login登陆页面
  7. 68.x的平方根(力扣leetcode) 博主可答疑该问题
  8. oracle dba_tables degree default,oracle中如何将表的并行度设定为DEFAULT?如下:
  9. python -- 连接 orclae cx_Oracle的使用
  10. CentOS下安装配置MySQL8.0的步骤详解