文档章节

1.3、Android Studio创建一个Android Library

宋志辉
 宋志辉
发布于 2016/07/14 15:27
字数 853
阅读 39
收藏 0

一个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类。

本文作者:宋志辉 
个人微博:点击进入

© 著作权归作者所有

宋志辉
粉丝 5
博文 17
码字总数 13659
作品 0
青岛
程序员
私信 提问
学习Android Studio里的Gradle

一直听说Gradle很强大,只是偶尔用Android Studio创建Demo的时候看到他一次,今天抽个时间完整记录一下。 1.gradle位置 Android Studio项目创建好之后,默认有3个gradle文件,分别位于: /s...

红豆与绿豆
2015/11/07
145
0
Android Studio 1.3 提供下载

Android Studio 1.3 现已提供在 stable channel 。 Android Studio 1.3 的新特性 性能 & 测试工具 Android Memory (HPROF) Viewer Android Studio 允许你可以用原生 Android HPROF 格式捕获和......

oschina
2015/07/31
13.6K
34
Unity接入九游SDK学习与踩坑

学习之路漫漫,应修之期远兮。持之以恒,方得始终。 这几日接入九游SDK,于浑浑噩噩中成长。 下面是步骤: 一:下载九游SDK 二:打开Android Studio新建一个工程,并且新建一个AndroidLibrar...

你这只母牛
07/05
0
0
Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)

我们经常使用github上的开源项目,使用步骤也很简单 比如: compile 'acffo.xqx.xwaveviewlib:maven:1.0.0' 这里就学习一下如何将自己的类库做出这种可以供他人使用的开源项目。 一、Android...

听着music睡
2017/11/15
0
0
创建和使用Android library工程

创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。 本文着重介绍如何创建A...

无鸯
2011/09/27
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

Archiva 不小心删掉了管理员权限怎么办

Archiva 的界面和 UI 比较容易出问题。 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了。 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可以尝试...

honeymoose
36分钟前
5
0
Java8新特性之空指针异常的克星Optional类

Java8新特性系列我们已经介绍了Stream、Lambda表达式、DateTime日期时间处理,最后以“NullPointerException” 的克星Optional类的讲解来收尾。 背景 作为开发人员每天与NullPointerExceptio...

程序新视界
48分钟前
4
0
OSChina 周四乱弹 —— 福布斯终身秃头奖

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享如是我闻的单曲《地藏经上卷》: 如是我闻#今日歌曲推荐# 《地藏经上卷》- 如是我闻 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
51分钟前
190
8
Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
6
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部