https://docs.gradle.org/current/userguide/gradle_wrapper.html
./gradlew
./代表当前目录
gradlew代表 gradle wrapper(意思是gradle的一层包装)

  1. Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制。<br /> Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个属性构成的,分别是groupIdartifactId以及version。这三个属性可以唯一确定一个组件(Jar包或者War包)。
  2. 其实在Nexus仓库中,一个仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本。(比如版本号为’Junit-4.10-SNAPSHOT’,那么打出的包就是一个快照版本。)
  3. 快照版本和正式版本的主要区别在于,本地获取这些依赖的机制有所不同。<br />1.假设你依赖一个库的正式版本,构建的时候构建工具会先在本次仓库中查找是否已经有了这个依赖库,如果没有的话才会去远程仓库中去拉取。所以假设你发布了Junit-4.10.jar到了远程仓库,有一个项目依赖了这个库,它第一次构建的时候会把该库从远程仓库中下载到本地仓库缓存,以后再次构建都不会去访问远程仓库了。所以如果你修改了代码,向远程仓库中发布了新的软件包,但仍然叫Junit-4.10.jar,那么依赖这个库的项目就无法得到最新更新。你只有在重新发布的时候升级版本,比如叫做Junit-4.11.jar,然后通知依赖该库的项目组也修改依赖版本为Junit-4.11,这样才能使用到你最新添加的功能。<br /> 2.但是当你依赖的库SNAPSHOT版本,每次example-ui构建时,会优先去远程仓库中查看是否有最新的example-service-1.0-SNAPSHOT.jar,如果有则下载下来使用。即使本地仓库中已经有了example-service-1.0-SNAPSHOT.jar,它也会尝试去远程仓库中查看同名的jar是否是最新的。但是这个可以设置当前这个包下载的时效,避免每回编译都去下载。

常用的配置信息
gradle wrapper
#开启并行编译
org.gradle.parallel=true
#开启守护进程
org.gradle.daemon=true
# 按需编译
org.gradle.configureondemand=true
# 设置编译jvm参数
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# 设置代理
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=10384
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=10384
# 开启JNI编译支持过时API

Android Studio 提速
禁用插件
去掉一些没有用的插件
Google Cloud Testing、Google Cloud Tools For Android Studio、Goole Login、Google Services、JavaFX、SDK Updater、TestNG-J

  1. ndk {<br /> // 设置支持的 SO 库构架,注意这里要根据你的实际情况来设置<br /> abiFilters 'armeabi'// 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'<br /> }<br /> https://www.cnblogs.com/Bugtags2015/p/5578541.html

这里是常用的命令信息

Run gradlew help —task :app:build to get task usage details.
Run with —stacktrace option to get the stack trace.
Run with —debug option to get more log output.
Run with —scan to get full insights.
—info

关于stacktrace解释来自 (https://docs.gradle.org/current/userguide/logging.html#stacktraces
这是日志等级表,(和logcat类似)

no logging options LIFECYCLE and higher
-q or --quiet QUIET and higher
-w or --warn WARN and higher
-i or --info INFO and higher
-d or --debug DEBUG and higher (that is, all log messages)

这是堆栈信息是否需要打印出来
-s or --stacktrace
Truncated stacktraces are printed. We recommend this over full stacktraces. Groovy full stacktraces are extremely verbose (Due to the underlying dynamic invocation mechanisms. Yet they usually do not contain relevant information for what has gone wrong in your code.) This option renders stacktraces for deprecation warnings.
-S or --full-stacktrace
The full stacktraces are printed out. This option renders stacktraces for deprecation warnings.

./gradlew clean —info

./gradlew -v 版本号
./gradlew clean 清除……/app目录下的build文件夹
./gradlew build 检查依赖并编译打包

编译并打Debug包
./gradlew assembleDebug
./gradlew aD
#编译并打Release的包
./gradlew assembleRelease
./gradlew aR

./gradlew dependencies
# 或者模组的 依赖
./gradlew app:dependencies
# 检索依赖库
./gradlew app:dependencies | grep CompileClasspath
# windows 没有 grep 命令
./gradlew app:dependencies | findstr “CompileClasspath”

将检索到的依赖分组找到 比如 multiDebugCompileClasspath 就是 multi 渠道分发的开发编译依赖
./gradlew app:dependencies —configuration multiDebugCompileClasspath
# 一般编译时的依赖库,不是固定配置方式,建议检索后尝试
./gradlew app:dependencies —configuration compile
# 一般运行时的依赖库,不是固定配置方式,建议检索后尝试
./gradlew app:dependencies —configuration runtime

Android Studio检查依赖库是否有新版本,非常好用

https://blog.csdn.net/yuzhiqiang_1993/article/details/93618428