Android带依赖树的aar是如何生成的(推荐)

引言

Android Studio默认打出的aar只会包含本工程的源代码,不会携带library依赖的源码;但是我们常用的一些依赖库一般都是带依赖关系的(通过设置 transitive = true ,来透传依赖树)。下面讲解下这种带依赖关系的aar是怎么生成的

代码

apply plugin: 'com.android.library'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'me.vigi.fat-aar'
buildscript {
  repositories {
    jcenter()
    maven {      url "http://dl.bintray.com/vigidroid/maven"
    }
  }
  dependencies {
    classpath 'me.vigi:fat-aar-plugin:0.2.8'
  }
}
dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:26.1.0'
  embed 'com.google.auto.service:auto-service:1.0-rc2'
  embed 'com.squareup:javapoet:1.7.0'
}

如上代码,已经有人写了一个专门的插件,来完成这个功能;对于想要带依赖关系的三方库,可用 embed 的方式引入。 三方插件Github地址

总结

以上所述是小编给大家介绍的Android带依赖树的aar是如何生成的,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 创建Android库的方法及Android .aar文件用法小结

    创建 Android 库 Android 库在结构上与 Android 应用模块相同.它可以提供构建应用所需的一切内容,包括源代码.资源文件和 Android 清单.不过,Android 库将编译到您可以用作 Android 应用模块依赖项的 Android 归档 (AAR:Android Archive Resource) 文件,而不是在设备上运行的 APK.与 JAR 文件不同,AAR 文件可以包含 Android 资源和一个清单文件,这样,除了 Java 类与方法外,您还可以捆绑布局和可绘

  • Android Studio中生成aar文件及本地方式使用aar文件的方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法,具体内容详情如下所示: 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar *.aar:库/build/outputs/aar/libraryname.aar 两者区别: *.jar:只包含了class文件与清单文件,不包含

  • Android studio中生成引用.aar和.jar的方法详解

    在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/classes.jar *.aar:库 /build/outputs/aar/libraryname.aar .jar 与 .aar的区别 从名称上来讲,一个是java application resource:一个是android application resource: 那

  • AndroidStudio 如何使用aar详解

    一. 简介 aar 是一个类似于 jar 的文件格式.但是他们之间是有区别的. jar :仅仅包含class和清单文件,没有资源文件. aar :包含了class文件和资源文件.说白了就是Android的专属"jar" 将代码打包成aar文件,可以在一定程度上加快 AndroidStudio 的速度. 尤其是将 Module 打包成 aar 文件,提升的效果很显著. 二. 如何得到aar 1. Module的aar文件 将一个AndroidStudio项目中的 Module 打包成 a

  • android studio生成aar包并在其他工程引用aar包的方法

    1.aar包是android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 2.生成aar包步骤: ①.用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作 ②.新建Module 类型为android Library 后如下图所示 ③.在新建的Module中编写完代码后,接下来编

  • Android项目中引用本地aar文件的方法

    随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便. aar 何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是

  • Android带依赖树的aar是如何生成的(推荐)

    引言 Android Studio默认打出的aar只会包含本工程的源代码,不会携带library依赖的源码:但是我们常用的一些依赖库一般都是带依赖关系的(通过设置 transitive = true ,来透传依赖树).下面讲解下这种带依赖关系的aar是怎么生成的 代码 apply plugin: 'com.android.library' apply plugin: 'maven' apply plugin: 'maven-publish' apply plugin: 'me.vigi.fat-

  • Android带气泡的第三方Tab选项卡

    效果 依赖 compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0' OnCreate中初始化 initBottom(); 认选中0 showFragment(0); 然后具体实现 private void showFragment(int position) { FragmentManager supportFragmentManager = getSupportFragmentManager(); FragmentTransac

  • Android Studio打包jar及aar包的方法

    Android Studio 打包 jar 及 aar 包 创建工程 New -> Module -> Library 在gradle文件头添加 apply plugin: 'com.android.library' 打包模块 在库工程的 build.gradle 中最下方加入如下配置示例: // 删除已存在的 Jar 包 task deleteOldJar(type: Delete) { delete 'build/libs/analytics.jar' } // 创建 Jar 包 task

  • Android Gradle依赖管理、去除重复依赖、忽略的方式

    常用依赖 //1.直接依赖第三方开源库,一般是托管在 jitpack 或者 jcenter implementation 'com.google.code.gson:gson:2.2.4' implementation 'com.android.support:cardview-v7:25.0.0' implementation 'com.android.support:design:25.0.0' //2.直接依赖本地的aar文件,一般是在libs目录下 implementation(name

  • Android开发之AAR文件的生成与使用步骤

    目录 前言 一.AAR是什么? 二.使用步骤 1.生成AAR 2.AAR使用 附:注意事项 总结 前言 现在App开发组件化技术已是常态,有很多的功能模块都被抽出来成为一个个组件供给开发者使用.为了开发者使用,这些组件都会被打包,就和java中的库一样.在java中,一个模块可以被打包为Jar包,而在Android中,不仅仅有java文件,还有一些其他的资源文件,所以就出现了AAR文件(一种打包格式),本文通过一个demo来介绍如何打包一个Library文件,生成AAR. 一.AAR是什么? a

  • Android三方依赖冲突Gradle中exclude的使用

    目录 一.场景 二.如何查看项目中的三方依赖? 三.使用exclude解决依赖冲突的问题 四.总结 一.场景 Android项目的开发过程中,我们项目中的gradle的dependencies闭包中会引入很多三方依赖库,引入的库越多,越容易产生库之间的依赖冲突. 列举冲突的场景: 1.同一个依赖库引入多个版本: 2.重复引入了同一个依赖库: 编译报错信息一般为:Program type already present 二.如何查看项目中的三方依赖? 方案一: Gradle task工具查看 按照

  • 详解Android控件状态依赖框架

    在生产型Android客户端软件(企业级应用)开发中,界面可能存在多个输入(EditText)和多个操作(MotionEvent和KeyEvent),且操作依赖于输入的状态.如下图所示的场景: 设定图中 确认操作依赖于商品编码和储位的状态 跳过操作不依赖于输入状态 登记差异操作依赖于储位和数量的状态 输入框有三种状态: 待输入: 待校验: 校验成功. 操作需要当其依赖的输入数据校验成功,才能执行. 如果在Activity中去判断输入框状态,那么实际需要调用(3个输入框)*(3种状态)*(3个按钮

  • Android 带logo的二维码详解及实例

    Android 带logo的二维码详解及实例 好久没有写博客了,快元旦了公司的事情也不是很多,刚好和朋友一起出去玩玩,朋友是搞PHP的说到了每天在公司都是搞些什么二维码和微信支付的相关东西,因为上班的时间不忙,所以随便来搞下. 二维码(Quick Response Code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙.在现代商业活动中,如果一个产品是不能通过二维码来进行访问什么的,显然是不成功的.用的比较多的生成二维码的jar

  • Android带进度的圆形进度条

    我们还是用一个小例子来看看自定义View和自定义属性的使用,带大家来自己定义一个带进度的圆形进度条,我们还是先看一下效果吧 从上面可以看出,我们可以自定义圆环的颜色,圆环进度的颜色,是否显示进度的百分比,进度百分比的颜色,以及进度是实心还是空心等等,这样子是不是很多元化很方便呢?接下来我们就来教大家怎么来定义 1.在values下面新建一个attrs.xml,现在里面定义我们的属性,不同的属性对应不同的format,接下来我贴上我在自定义这个进度条所用到的属性 <?xml version="

  • Android 带清除功能的输入框控件实例详解

    Android 带清除功能的输入框控件实例详解 今天,看到一个很好的自定义输入框控件,于是记录一下. 效果很好: 一,自定义一个类,名为ClearEditText package com.example.clearedittext; import android.content.Context; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.TextWatc

随机推荐