当前位置: 首页 > news >正文

禹城有做网站2023年8月新冠疫情

禹城有做网站,2023年8月新冠疫情,织梦网站响应式模板免费下载,正规的企业建站公司Android studio 高版本默认不开启Task配置,需要自己手动开启 1.低版本配置路径:(复制他人图片) 2.高版本路径:添加下图勾选配置即可 3.gradle task 3.1 初识task gradle中所有的构建工作都是由task完成的,它帮我们处…

Android studio 高版本默认不开启Task配置,需要自己手动开启

1.低版本配置路径:(复制他人图片)

在这里插入图片描述

2.高版本路径:添加下图勾选配置即可

3.gradle task

3.1 初识task

gradle中所有的构建工作都是由task完成的,它帮我们处理了很多工作,比如编译,打包,发布等都是task.我们可以在项目的根目录下,打开命令行(AS自带,底部有Terminal,打开就行)执行gradlew tasks查看当前项目所有的task.

在命令行如果执行失败,则将项目的JDK location设置成本地jdk的路径,而且jdk的版本还需要是java 8. 我用的jdk版本是1.8.0_231.

> Task :tasks------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------Android tasks
-------------
androidDependencies - Displays the Android dependencies of the project.
signingReport - Displays the signing info for the base and test modules
sourceSets - Prints out all the source sets defined in this project.Build tasks
-----------
assemble - Assemble main outputs for all the variants.
assembleAndroidTest - Assembles all the Test applications.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
bundle - Assemble bundles for all the variants.
clean - Deletes the build directory.
cleanBuildCache - Deletes the build cache directory.
compileDebugAndroidTestSources
compileDebugSources
compileDebugUnitTestSources
compileReleaseSources
compileReleaseUnitTestSourcesBuild Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.Cleanup tasks
-------------
lintFix - Runs lint on all variants and applies any safe suggestions to the source code.Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'Hello'.
components - Displays the components produced by root project 'Hello'. [incubating]
dependencies - Displays all dependencies declared in root project 'Hello'.
dependencyInsight - Displays the insight into a specific dependency in root project 'Hello'.
dependentComponents - Displays the dependent components of components in root project 'Hello'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'Hello'. [incubating]
projects - Displays the sub-projects of root project 'Hello'.
properties - Displays the properties of root project 'Hello'.
tasks - Displays the tasks runnable from root project 'Hello' (some of the displayed tasks may belong to subprojects).Install tasks
-------------
installDebug - Installs the Debug build.
installDebugAndroidTest - Installs the android (on device) tests for the Debug build.
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build.
uninstallDebugAndroidTest - Uninstalls the android (on device) tests for the Debug build.
uninstallRelease - Uninstalls the Release build.Verification tasks
------------------
check - Runs all checks.
connectedAndroidTest - Installs and runs instrumentation tests for all flavors on connected devices.
connectedCheck - Runs all device checks on currently connected devices.
connectedDebugAndroidTest - Installs and runs the tests for debug on connected devices.
deviceAndroidTest - Installs and runs instrumentation tests using all Device Providers.
deviceCheck - Runs all device checks using Device Providers and Test Servers.
lint - Runs lint on all variants.
lintDebug - Runs lint on the Debug build.
lintRelease - Runs lint on the Release build.
lintVitalRelease - Runs lint on just the fatal issues in the release build.
test - Run unit tests for all variants.
testDebugUnitTest - Run unit tests for the debug build.
testReleaseUnitTest - Run unit tests for the release build.
To see all tasks and more detail, run gradlew tasks --all

可以看到,这里有很多的task.比如我们在命令行执行gradlew clean就是clean.执行gradlew installDebug就是构建debug项目然后安装到手机上.

3.2 编写task

书写task非常简单,比如我们在根目录的build.gradle中加入一个hello的task

task hello() {println "hello world"//将给定的闭包 添加到此task操作链表的开头doFirst {println "hello task doFirst"}doLast {println "hello task doLast"}
}

然后在命令行执行gradlew hello,输出如下

setting 开始配置
setting 配置完成> Configure project :
根build.gradle 开始配置
hello world
根build.gradle 配置完成> Configure project :app
app build.gradle 开始配置
app build.gradle 配置完成> Task :hello
hello task doFirst
hello task doLast

它会先配置完成,才会执行.在一个task内部其实拥有一个action列表,执行的时候其实就是执行这个列表,它的类型是一个List.上面的doFirst和doLast就是创建action的两个方法,文档.doFirst是在最开始执行,doLast是在最后执行,大括号里面传入的是闭包.

3.3 task执行顺序

task是有执行顺序的,在创建完Android项目之后,根目录下的build.gradle中,有一个clean的task.这个是AS自动给我们生成的.

task clean(type: Delete) {delete rootProject.buildDir
}

我们先在根目录下创建test.txt文件,然后我们在这个task中做一些改动,执行到clean这个task时删除根目录下的test.txt文件.

task clean(type: Delete) {delete rootProject.buildDirdoLast {def file = new File('test.txt')delete fileprintln "清理"}
}

然后我们在hello这个task的下面写上

hello.dependsOn clean
这样就表示hello这个task依赖clean这个task,当执行hello这个task时需要先执行clean. 我们在命令行执行gradlew hello看看是不是这样.我执行之后它的输出是

Task :clean
清理

Task :hello
hello task doFirst
hello task doLast
先执行clean,再执行hello这个task.而且还看到test.txt文件被删除(如果看到没删除,刷新一下看看)了,那么说明确实是clean先执行.

这个顺序有什么用?其实是很有用的,比如执行安装task的时候,肯定会先执行编译,打包这些步骤.

3.4 自带 gradle task

当我们在AS中创建Android项目的时候,默认会带一些Android的一些gradle task,这些task都是gradle和Android Gradle Plugin给我们创建好的,可以直接用.
在这里插入图片描述
比如我们上面使用到的gradlew clean是用来清理项目的.和编译相关的task主要有:build和assemble,其中build依赖assemble,也就是说执行build之前会先执行assemble。在Android上,会根据buildType和productFlavor的不同自动创建多个assembleXxx任务,如assembleDebug,assembleRelease等,assemble会依赖所有的assembleXxx任务,也就是说执行assemble会先执行assembleDebug,assembleRelease等一系列的assemble任务。

如果想看Android Gradle Plugin源码,可以在app/build.gradle中的dependencies下面引入

compileOnly 'com.android.tools.build:gradle:3.5.2'

然后就可以在项目的External Libraries中看到该jar的源码,
在这里插入图片描述

比如clean这个task是在com.android.build.gradle.tasks.CleanBuildCache.java里面定义的

@TaskAction
public void clean() throws IOException {Preconditions.checkNotNull(buildCache, "buildCache must not be null");buildCache.delete();
}

通过查询gradle官方文档可知,@TaskAction的作用:Marks a method as the action to run when the task is executed. 将方法标记为执行任务时要运行的动作.

http://www.ritt.cn/news/20544.html

相关文章:

  • 外行学网页制作与网站建设从入门到精通seo软件推荐
  • 宁波网页设计培训班优化营商环境工作开展情况汇报
  • 中国最大网站建设商淄博头条新闻今天
  • seo的网站特征如何在百度上发表文章
  • 淮安建设网站制作世界军事新闻
  • 网站离线浏览器 怎么做建网站流程
  • 网站流量一直做不起来企业营销培训课程
  • WordPress支持外链图片seo数据分析哪些方面
  • 网站地图对seo的影响搜索引擎优化的简写是
  • 最专业的网站建设公司代理公司注册
  • win2008r做网站临沂百度推广多少钱
  • 网站icp备案证书下载恶意点击推广神器
  • 福州免费自助建站模板南昌百度推广联系方式
  • 网页设计代码html作品展示西安网站seo哪家公司好
  • google网站登陆模板腾讯体育nba
  • 网站开发工程师职位概要爱站关键词
  • 网站建设优化过程中的优化策略seo研究中心怎么了
  • 网站下载下来怎么做后台在百度上怎么发布信息
  • 为什么很多公司做网站建设营销计划书7个步骤
  • 网站建设维护人员友情链接赚钱
  • wordpress 4.9.8中文版西安seo经理
  • 做侵权网站用哪里的服务器稳搜索引擎技术基础
  • 贵州省建设学校官方网站广州优化公司哪家好
  • 安徽网站建设公司排名游戏推广员每天做什么
  • 营销型网站服务网络营销的三大核心
  • 典型网站开发的流程重庆高端seo
  • 做企业公示的数字证书网站百度软件下载
  • 腾讯网站统计代码每日财经最新消息
  • wordpress英文版切换中文版网络营销策略优化
  • 视频号的网站链接百度推广竞价