1.3、Android Studio创建一个Android Library

简介: 一个Android Library结构上与Android app模块相同。它可以包含构建一个app需要的所有东西,包括圆满,资源文件和AndroidManifest.xml。

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

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

目录
相关文章
|
11月前
|
SQL 人工智能 Dart
Android Studio的插件生态非常丰富
Android Studio的插件生态非常丰富
644 1
|
11月前
|
Ubuntu Linux Android开发
Android Studio支持多种操作系统
Android Studio支持多种操作系统
514 1
|
6月前
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
1496 61
|
5月前
|
Android开发 Windows
Android studio 报错Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused: connect(已解决)
这是一篇关于解决Android Studio报错“Connect to 127.0.0.1:8888 failed: Connection refused”的文章。问题通常因系统代理设置被Android Studio自动保存导致。解决方法是找到系统中Android Studio使用的gradle.properties文件(位于Windows的C:\Users\你的电脑用户名\.gradle或Mac的/Users/.{你的用户目录}/.gradle),删除或注释掉多余的代理配置后保存并重新Sync项目。希望此经验能帮助快速解决同类问题!
788 36
|
5月前
|
Java Android开发
Android studio中build.gradle文件简单介绍
本文解析了Android项目中build.gradle文件的作用,包括jcenter仓库配置、模块类型定义、包名设置及依赖管理,涵盖本地、库和远程依赖的区别。
505 19
|
8月前
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
224 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
8月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
218 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
322 8
|
11月前
|
数据可视化 开发工具 Android开发
Android Studio
Android Studio
703 1
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
1051 2

热门文章

最新文章