Android Library的代码结构和Android app的代码结构一样,实际上通过Android Studio创建的工程,只需要稍许修改即可变成Android Library module。

对于一些通用的代码和组件,可以制作成Library,在不用的APP中可以引入同一个Library代码。下面是笔者的实践笔记。

制作Android Library module

新建一个Android Library

直接打开Android Studio->File->New Module->Android Library。

由app module变成library module

对于已经存在的APP工程,也可以通过以下修改变成library module:

app/build.gradle修改apply plugin: 'com.android.application'为apply plugin: 'com.android.library';

app/build.gradle删除applicationId;

AndroidManifest.xml中activity不能添加android.intent.action.MAIN和android.intent.category.LAUNCHER;

依赖及使用Library

Android Studio->File->Import Module,选择Library Module的路径,并编辑一个library的名字,比如":MyLibrary"。

打开app module的app/build.gradle文件,在dependencies块中增加:

implementation project(':MyLibrary')

但这样引入会有一个问题,会直接拷贝代码:有N个工程就会拷贝N份代码。这个显然不是我们需要的。

怎么公用一份代码?

假设工程目录结构如下:

MyLibrary:Android Library工程;

ProjectA:工程A;

ProjectB:工程B;

假设三个项目在同一级目录。为了达到公用一份代码的目的,只需要在工程A和工程B的settings.gradle中增加配置:

include ':MyLibrary'

project(':MyLibrary').projectDir = new File(settingsDir, '../MyLibrary/MyLibrary')

同时,在项目module的build.gradle文件dependencies节点中增加:

implementation project(':MyLibrary')

其它文章

android library使用,Android:Library module的使用相关推荐

  1. 如何在Eclipse和Android Studio中导入library project

    在Eclipse中: 把一个项目作为library 右键点击project选择Properties. 在Properties窗口选则Android. 在右侧视图勾选"Is Library&q ...

  2. android studio开发十一 Library第三方类库源码, Jar包和SO库

    原创: 发现android里面不熟悉的东西太多了,查了好多资料,终于搞清楚 Library第三方类库源码, Jar包和SO库这些都是干什么的了,怎么使用它们了. [Library第三方类库源码] Ja ...

  3. androidlib.java_Android Library和Android APP、Java Library的区别

    Android Library和Android APP.Java Library的区别 Android Library在目录结构上与Android App相同,它能包含构建APP所需的一切(如源代码. ...

  4. android log4,GitHub - oronno/log4android: Log4Android - Simple Logging Wrapper Library for Android

    log4android Log4Android - Simple Logging Wrapper Library for Android Tired writing TAG each time wri ...

  5. Android之library class android.webkit.WebViewClient depends on program class android.net.http.SslErro

    1 问题 编译chromium的源代码的时候,在主类的actitivity里面插入了加载webview的代码 编译错误提示如下 library class android.webkit.WebView ...

  6. android support library github,Android Support Library 之 夜间模式

    原标题:Android Support Library 之 夜间模式 前言 夜间模式实现方式:1.通过切换theme来实现夜间模式.优点:可以匹配多套主题,并不局限于黑白模式缺点:需要大量定义主题详见 ...

  7. Android应用Design Support Library完全使用实例

    1 背景 上周一年一度的Google IO全球开发者大会刚刚结束,Google在Android这块除过一些优化没有太大亮点.在Android Developer和Android Developer B ...

  8. 在Android Studio中将Android工程变为Library使用

    在Android Studio中将Android工程变为Library使用 转载2016-03-28 10:43:58 有时候网上会有些工程格式不是我们想要的Library格式可以直接给AS使用.这时 ...

  9. Android项目 moudle和library转换

     添加控制变量属性 在gradle.properties文件末尾添加 #控制moudle library 转换 参数 isUserMoudle=false 配置AndroidManifest.xml ...

最新文章

  1. windows server 2008 r2 enterprise ,惠普DL 580 G7服务器报,事件 ID: 47错误。
  2. Ethernet IP TCP UDP 协议头部格式
  3. UA MATH574M 统计学习II 二元分类例子与高维问题
  4. sklearn自学指南(part50)--独立成分分析(ICA)
  5. TMDS——最小化传输差分信号及其协议
  6. 怎么挖linux内核的漏洞,linux内核漏洞分析实战看看专家是怎么一步步...-卓优商学院问答...
  7. pytorch学习1:pytorch 定义网络的方式
  8. Eigen--Array
  9. linux内核I2C体系结构(注意结构体原型)
  10. yml连接sqlserver_Mybatis-plus连接操作SQLServer数据库(基于Maven项目)
  11. jquery 获取日期时间
  12. C#中string[]数组和liststring泛型的相互转换 【转】
  13. 《现代操作系统(中文第三版)》课后习题——第六章 死锁
  14. 难得干货,揭秘支付宝的2维码扫码技术优化实践之路
  15. [CM311-1A]-全网最全 Android 软件管理
  16. 大数据竞赛MR培训与题型
  17. 优势比(Odds Ratios)
  18. 这算通过审核了么?接下来还有没有什么坑,求大神指点!--酷课堂iOS交流群问答精华整理(201808期)
  19. 数据挖掘学习之认识数据
  20. mysql密码错误解决方法--windows和ubuntu18.04

热门文章

  1. java在线支付---03_分析易宝支付网关的请求协议
  2. java中char和string的区别是什么
  3. qt 两种按钮点击事件应用
  4. 随想录(canvas双缓存下的性能分析)
  5. 广科计算机专业3 2分数线,考试网:重庆最新高考录取分数线发布 理科一本533分...
  6. mysql 主从复制 表结构_MySQL主从复制-双主结构
  7. python编程常用代码-Python编程常见问题与解答
  8. Linux脏牛漏洞提权复现
  9. Python轻量级WEB框架web.py之操作数据库
  10. 本博客停止更新,后续用博客园。