Gradle

详解Android打包上传使用AAR
https://www.jianshu.com/p/f653b1da549c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

//就是添加四个镜像地址,我严重怀疑有些东西会下载不了,但是还是贴一下
maven { url “https://maven.aliyun.com/repository/gradle-plugin”}
maven { url “https://maven.aliyun.com/repository/google” }
maven { url “http://maven.aliyun.com/nexus/content/groups/public/” }
maven { url “https://maven.aliyun.com/repository/jcenter”}

Could not install Gradle distribution from
解决方法
gradle--all.zip 下载慢和依赖下载慢解决方法
下载gradle
.zip提速(zip来源CSDN)
提一嘴,我感觉在网页上下载all的时候比较快一点,不知道as下载的是哪个地址
拿到 as4.x之后先新建一个项目(肯定卡),立马关掉项目
打开路径: ~.gradle\wrapper\dists\具体看版本!(我的路径C:\Users\Administrator.gradle\wrapper\dists\gradle-6.1.1-all\cfmwm155h49vnt3hynmlrsdst)删除 gradle-6.1.1-all.zip.lck 和 gradle-6.1.1-all.zip.part 把下载好的 zip放入这个文件夹地址: 链接:https://pan.baidu.com/s/1Kztl9R6y_uMs8MqRjEjxVA (提取码:e3x7)

Android Studio无法执行Java类的main方法问题及解决方法
1、修改.idea/gradle.xml文件

2、gradle-wrapper.properties android.enableAapt2=false https://www.jb51.net/article/182479.htm

Gradle

https://blog.csdn.net/u010289802/category_9369147.html

https://juejin.im/post/6887581345384497165

gradle熟悉么,自动打包知道么?

知道,我们开发工具studio就是用gradle打包的

一般是在build.gradle文件里面配置

  • 添加签名文件 signingConfigs {}
  • 设置打包格式 applicationVariants.all
  • 自定义apk名字 productFlavors {}
  • 配置渠道
buildTypes {
        release {
       //注意下面这一句很重要,必须加上才会执行上面的signingConfigs函数。       
            signingConfig signingConfigs.release
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

如何加快 Gradle 的编译速度?

调整AS的内存分配

增加Gradle的堆大小并启用dex-in-process

配置依赖包下载地址,使用阿里镜像

使用implementation替代compile

对于一些不常变动的 Android Library,我们可以直接引用 aar,加快编译速度

https://juejin.im/post/6844903728282091527

Gradle的Flavor能否配置sourceset?

gradle上sourceSets配置&同名文件合并问题

https://www.cnblogs.com/Im-Victor/p/11005270.html

Gradle生命周期

Gradle生命周期分为三个部分,如下:

1 初始化阶段: 解析整个工程中所有Project,构建所有的Project对应的project对象,这个阶段主要就是解析setting.gradle文件

2 配置阶段:解析所有的projects对象中的task,构建好所有的task拓扑图,主要解析各个project下的build.gradle文件

3 执行阶段:执行具体的的task及其依赖task

编译插桩

在代码编译期间修改已有的代码或者生成新代码,像ButterKnife

https://blog.csdn.net/u010289802/category_10019439.html

谈谈你对AOP技术的理解?

Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生

AOP 主要是利用代理模式的技术来实现的

在Android App中的横切关注点有Http, SharedPreferences, Log, Json, Xml, File, Device, System, 格式转换等

统一管理依赖版本

在根目录下,新建config.gradle文件

ext {
    android = [
            compileSdkVersion: 23,
    ]
    dependencies = [
            "support-v7"  : 'com.android.support:appcompat-v7:23.2.0'
    ]
}

在根目录下的build.gradle,新增apply from: “config.gradle”
compileSdkVersion rootProject.ext.android.compileSdkVersion
compile rootProject.ext.dependencies[“support-v7”]

查看依赖关系

可以通过Android Studio的插件Gradle View来查看
命令查看./gradlew -q app:dependencies

标识符

统一指定Transitive

Force
用来表示强制设置某个模块的版本

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:23.1.0'
    }
}

exclude
该标识符用来设置不编译指定的模块

https://www.jianshu.com/p/47cbbb4eab13

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值