1.3、Android Studio创建一个Android Library

时间:2023-02-17 11:46:39

一个Android Library结构上与Android app模块相同。它可以包含构建一个app需要的所有东西,包括圆满,资源文件和AndroidManifest.xml。然而,并非编译成运行在设备上的APK,一个Android Library编译成其他Android app模块可以用作以来的AAR文件。

一个Library模块在以下情形中是有用的:

1、 当你构建多个使用相同组件,比如activity、service或者UI布局,的APP。

2、 当你构建的APP存在多个APK文件。比如免费版和付费版APK。

在这些案例中,简单的移动你想复用的文件到Library模块中,添加Library作为APP模块的依赖。

创建一个Library模块

为了创建一个新的Library模块到你的项目中,遵循如下步骤:

1、 单击File > New > New Module

2、 在Create New Module窗口出现时,点击Android Library。然后点击Next。

这里同样有一个创建Java Library的可选项,可以构建一个传统的JAR文件。JAR文件在很多项目中都是可用的。特别是你想与其他平台分享代码,它不允许包含Android资源文件或者AndroidMainfest.xml,,这个在Android项目中是非常有用的,所以我们专注创建Android Library。

3、 为你的Library设置一个名称并且选择一个最小的SDK,然后点击Finish。

一旦Gradle项目同步完成。Library模块显示在Project左边的面板中。如果你没有看到新的模块文件夹,确保适应的是Android视图。

将App模块转化为Library模块

如果你有一个已经存在的app模块所有的代码你都想复用,你可以通过以下几部将其转化成Library模块。

1、 打开build.gradle文件,你可以看到如下语句:

apply plugin: ‘com.android.application’

2、 更改成如下:

apply plugin: ‘com.android.library’

3、 点击Sync Project with Gradle Files

就这么简单,整个模块无需改动。但是现在就可以作为Library并且生成AAR文件而不是APK。

将你的Library添加为依赖

为了在其他app模块中使用你的Android Library代码,操作如下:

1、 有两种方式添加library到你的项目中。

添加编译后的AAR(或者JAR)文件:

1) 单击 File > New Module。

2) 单击 Import .JAR/.AAR Package 然后点击Next。

3) 输入AAR或者JAR文件的位置,然后点击Finish。

导入你的Library模块到你的项目:

1) 单击 File > New > Import Module

2) 输入Library 模块的位置点击Finish。

Library模块被复制到你的项目中所以你可以编辑Library代码。

2、 确保Library 列在setting.gradel文件的顶部。

include ‘:app’, ‘:my-library-module’

3、 打开app模块的build.gradle文件添加一个新的依赖到dependencies中:

dependencies {

compile project(“:my-library-module”)

}

4、 单击Sync Project with Gradle Files。

现在,你的Android Library中的任何代码和资源都是可以被你的app模块访问,Library的AAR文件将会在你的APK打包的时候加入进去。

注意以下问题

1、 资源合并可能导致冲突

2、 Library模块可以包含JAR 包。

3、 Library模块不能使用 raw资源

4、 App模块的最小SDK版本必须等于或高于Library中的版本。

5、 每个Library模块创建它自己的R类。

本文作者:宋志辉

个人微博:点击进入

1.3、Android Studio创建一个Android Library的更多相关文章

  1. 1.1、Android Studio创建一个项目

    Android Studio中的项目包含一个或多个模块.本节帮助你创建一个新的项目. 创建一个新的项目 如果你之前没有打开项目,Android Studio显示欢迎页面,通过点击Start a New ...

  2. android studio创建一个最简单的跳转activity

    实现目的:由mainActivity跳转到otherActivity 1.写好两个layout文件,activity_main.xml和otherxml.xml activity_main.xml & ...

  3. Android Studio 第一个Android项目

    创建步骤 Start a new Android Studio project 选择 Empty Activity   设置Android项目的名称.位置,开发语言 打开初始界面 初步认识Androi ...

  4. 【Android Studio使用教程2】Android Studio创建项目

    创建项目 首先,先指出Android Studio中的两个概念. Project 和 Module .在Android Studio中, Project 的真实含义是工作空间, Module 为一个具 ...

  5. Android Studio创建项目

    创建项目 首先,先指出Android Studio中的两个概念. Project 和 Module .在Android Studio中, Project 的真实含义是工作空间, Module 为一个具 ...

  6. 用android studio创建第一个安卓程序加载html5 页面

    前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件 ...

  7. Android逆向 编写一个Android程序

    本节使用的Android Studio版本是3.0.1 首先,我们先编写一个apk,后面用这个apk来进行逆向.用Android Studio创建一个新的Android项目,命名为Jhm,一路Next ...

  8. android studio 创建第一个app之hello world

    android studio 创建第一个app之hello world 想要用studio创建一个简单的app,结果遇到各种问题,application就是允许不起来,后来在专业人的帮助下,删除了一些 ...

  9. 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...

随机推荐

  1. svn迁移到git

    步骤命令如下: > git svn clone https://svn-url/ProjectName --no-metadata --authors-file=user.txt --trunk ...

  2. [转载]Javascript异步编程的4种方法

    NodeJs的最大特性就是"异步" 目前在NodeJs里实现异步的方法中,使用“回调”是最常见的. 其实还有其他4种实现异步的方法: 在此以做记录 --- http://www.r ...

  3. 为网站添加ico图标

    1.将目标图片装换为.ico格式 在线转换工具:http://www.bitbug.net/ 2.将装换后的图标放入项目文件中,一般命名为favicon 3.在项目文件的index页面中引入 < ...

  4. windows下脚本检测tomcat是否启动,没有启动则启动

    最近有个服务需要部署到windows server2003上面,机房没有windows ser的机器,没办法搞了个阿里云服务,购买的配置比较低, 不知道什么原因,tomcat启动后总是容易自动退出,搞 ...

  5. IT项目管理

    IT项目管理是项目管理在IT领域的应用,结合IT行业特点运用项目管理技术.理念和方法,包括9大知识领域(项目综合.范围.时间.成本.质量.人力资源.沟通.风险和采购管理)以及启动.计划.实施.控制和收 ...

  6. POJ 1922 Ride to School&lpar;贪心&plus;模拟&rpar;

    题意:起点与终点相隔4500米.现Charley 需要从起点骑车到终点.但是,他有个习惯,沿途需要有人陪伴,即以相同的速度, 与另外一个人一起骑.而当他遇到以更快的速度骑车的人时,他会以相应的速度跟上 ...

  7. List&lt&semi;String&Hat;&gt&semi;&Hat; 引用空间

    莫名其妙报错 需要在.h和.cpp文件中都引用: using namespace System::Collections;using namespace System::Collections::Ge ...

  8. json数据返回

    <script type="text/javascript"> function xmlpage(){ var xhr=new XMLHttpRequest(); xh ...

  9. 【Swift】ios开发中巧用 description 打印对象时,打印对象的属性

    ios开发中我们打印对象的时候,会直接输出对象地址,这样不方便我们开发.我们可以 巧用 description 打印对象时,输出对象的属性 在oc中直接重写即可.swift中需要遵守Printable ...

  10. Docker笔记一:Docker介绍

    目录 什么是Docker? Docker的核心概念 Docker镜像命令 Docker容器命令 Docker实战 查看我的镜像 启动Redis Docker中国镜像加速 血与泪的教训 什么是Docke ...