Android Studio 中的Gradle依赖aar和jar包使用指南
Posted 伟雪无痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio 中的Gradle依赖aar和jar包使用指南相关的知识,希望对你有一定的参考价值。
一. android Studio中app module的几种方式
moudle | gradle plugin | 生成文件格式 | 是否可以使用SDK |
app | com.android.application | apk | 可以使用 |
Android Library | com.android.library | aar | 可以使用 |
java Library | java | jar | 不可以使用 |
二.Android Studio中生成aar包
1.新建Moudle,New->Moudle
2.生成aar , Android Studio 打开右侧的 Gradle 面板,选择需要打包的module —> Tasks —> build, 双击 assemble
3.生成aar和apk,build.gradle配置转化
1).生成apk,配置apply plugin: 'com.android.application'
apply plugin: 'com.android.application'
android
compileSdkVersion 31
buildToolsVersion "30.0.3"
defaultConfig
applicationId "com.example.myaardemo"
minSdkVersion 29
targetSdkVersion 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2).生成 aar,配置apply plugin: 'com.android.library',并去掉applicationId 的配置项
apply plugin: 'com.android.library'
android
compileSdkVersion 31
buildToolsVersion "30.0.3"
defaultConfig
//applicationId "com.example.myaardemo"
minSdkVersion 29
targetSdkVersion 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
3).配置后build的示例显示
三.Android Studio中生成jar包
打包aar后,可以直接生成class.jar,拷贝到需要引用的工程的libs下面直接使用即可
四.Android Studio中aar和jar包的使用
1.aar的配置使用
// 可以一条依赖引入libs下所有的aar
implementation fileTree(dir: 'libs', include: ['*.aar'])
// 也可以指定依赖某一个aar
implementation (name: 'myaardemo-release', ext: 'aar')
2.jar的配置使用
// 可以一条依赖引入libs下所有的jar
implementation fileTree(dir: 'libs', include: ['*.jar'])
// 也可以指定依赖某一个或几个jar
implementation files('libs/AarDemoClasses.jar.jar', 'libs/AarDemoClasses2.jar.jar')
3.如果多个应用需要使用相同的library,建议搭建公司内部的私有maven仓库,统一管理依赖的library,eg:
1).远程使用library配置
// 依赖明确的版本,标明group,name及version
implementation group: 'com.example.myaardemo', name: 'myaardemo-release', version: '1.0.0'
// 通常按照如下方式简写即可
implementation 'com.example.myaardemo:myaardemo-release:1.0.0'
// 也可以不指定版本号,将version改为"+",当远程仓库有更新的版本后,构建时会拉取最新的版本。
// 好处是可以始终依赖最新的library;弊端是有可能library的改动导致编译不过或者功能变更不
// 稳定,因为每次都需要检查是否有最新版本,所以构建效率会低一些
implementation 'com.example.myaardemo:myaardemo-release:+'
// 对于有多个APP,依赖内部统一SDK的情况时,可以将gradle文件放在服务器,远程控制统一依
// 赖版本,避免因为各个APP依赖的SDK版本不统一导致很难管理和维护
// 远程http://192.168.1.93/remote/common_config.gradle:
ext.libraryBuildConfig = [
deps: [
"myaardemo-release" : 'com.example.myaardemo:myaardemo-release:1.0.0',
]
]
// 项目根目录下的build.gradle全局引入:
apply "http://192.168.1.93/remote/common_config.gradle"
ext
dependencies = [
"myaardemo-release" : libraryBuildConfig.deps.'myaardemo-release',
]
// 在module的build.gradle中依赖:
implementation rootProject.ext.dependencies["myaardemo-release"]
2).本地使用library配置
1’. common_config.gradle
ext
plugins = [
library : 'com.android.library',
application: 'com.android.application',
maven: 'maven'
]
android = [
compileSdkVersion: 29,
buildToolsVersion: "29.0.2",
minSdkVersion : 19,
targetSdkVersion : 29,
]
dependencies = [
gradle : 'com.android.tools.build:gradle:2.2.2',
supportV4 : 'com.android.support:support-v4:27.0.2',
supportV13: 'com.android.support:support-v13:27.0.2',
supportCompat: 'com.android.support:support-compat:27.0.2',
supportAnnotations: 'com.android.support:support-annotations:27.0.2',
recyclerviewV7: 'com.android.support:recyclerview-v7:27.0.2',
appcompatV7 : 'com.android.support:appcompat-v7:21.0.3',
]
2'.在项目根目录的build.gradle中直接引入我们配置的common_config.gradle配置文件
apply from: '../lib/common_config.gradle'
3'.使用的时候:在各个module的build.gradle里面使用
ndroid
compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
dependencies
compile fileTree(include: ['*.jar'], dir: 'libs')
compile rootProject.ext.dependencies.appcompatV7
compile rootProject.ext.dependencies.supportV4
compile project(':common')
以上是关于Android Studio 中的Gradle依赖aar和jar包使用指南的主要内容,如果未能解决你的问题,请参考以下文章
将 commons-io 依赖添加到 Android Studio 中的 gradle 项目
在最后一个 gradle 版本中无法解析 android studio 中的 jitpack 依赖项
Android Studio 中的Gradle依赖aar和jar包使用指南
Android Studio 中的Gradle依赖aar和jar包使用指南