IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android Studio 中的Gradle依赖aar和jar包使用指南 -> 正文阅读

[移动开发]Android Studio 中的Gradle依赖aar和jar包使用指南

一.?Android Studio中app module的几种方式

moudlegradle plugin生成文件格式是否可以使用SDK
appcom.android.applicationapk可以使用
Android Librarycom.android.libraryaar可以使用
java Libraryjavajar不可以使用

二.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')
}

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:32:44  更:2022-04-09 18:32:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 20:38:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码