...

本文详细介绍了C#的基础知识,包括.NET Framework、C#语言、Visual Studio工具的使用。讲解了Console类的输出输入操作、转义字符、注释以及变量的声明与赋值。此外,还涵盖了数据类型、运算符、逻辑控制结构等核心概念,为初学者提供了全面的入门指导。

第1章

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace day_01
{
    class Program
    {
        static void Main(string[] args) 
        {
	Console.WriteLine("Hello World!!!");
	Console.ReadLine();
        }
    }
}

C#简介

  • 基本名词

    • - .NET framework:舞台
      
    • c#:舞台上的演员
    • visual studio:开发工具
  • 工具类:Console类

    • - 不换行输出:Write
      
    • 换行输出:WriteLine
    • 槽占位输出:WriteLine("{0}{1}",one,two)
    • - 输入字符串:ReadLine
      
    • 输入单个字符:Read、返回整数,整数对应字符编号
    • 热键输入:ReadKey
  • 转义字符

    • - 单引号:\'
      
    • 双引号:"
    • 反斜杠:\
    • 空:\0
    • 警告(产生峰鸣):\a
    • 退格:\b:backspace
    • 换页:\f
    • 换行:\n
    • 回车:\r
    • 水平制表符:\t:tab
    • 垂直制表符:\v
  • 注释:Ctrl+/

    • //单行注释
      /* 多行注释 */
      /// 文档注释

变量的声明与赋值

  • 变量

    • 可以变化的量就是变量 说明我的变量的值不固定 是随时可以进行变化操作
  • 取名

    • 一定要是合法的变量名
    • 必须以 “字母” 或@开头
    • 后面可以跟 “字母” , 数字 , 下划线
    • 不能与 关键词 重名
    • @有2种意义:
      )字符串中如果有\,则不理解为转义符
      )使字符串可以换行
  • 声明并赋值

    • 数据类型 变量名 = 值;
    • 例如:int money = 100;

数据类型

  • 字符型char: 用于存储单个字符

    • char 2字节 取值范围:0 ~ 65535
  • 字符串型string: 用于存储一串字符

    • string 取值范围:任何""之间的字面值
  • 小数型float - double:用于存储小数

    • float 4字节 取值范围:10^-38 ~ 10^38
      double 8字节 取值范围:10^-308 ~ 10^308
    • 当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f
  • 整数型byte - short - int - long:用于存储整数

    • sbyte 1字节 取值范围:-128 ~ 127
      byte 2字节 取值范围:0 ~ 255
      short 2字节 取值范围:-32768 ~ 32767
      ushort 2字节 取值范围:0 ~ 65535
      int 4字节 取值范围:-2147483648 ~ 2147483647
      uint 4字节 取值范围:0 ~ 4294967295
      long 8字节 取值范围:-2的63次方 ~ 2的63次方-1
      ulong 8字节 取值范围:0 ~ 2的64次方-1
  • 布尔型boolean:只有两个值 一个true正确 / false错误

    • booleam 1字节 取值范围:true / false

字段

  • 作用

    • 表示存储位置,用来保存类的各种数据信息
  • 静态:static

  • 实例:默认不加字段

  • 常量:const

    • 无法进行修改的变量
  • 只读:readonly

类型转换

  • 自动类型转换:两种类型相互兼容 目标类型大于源类型

  • 强制类型转换:两种类型相互兼容 目标类型小于源类型

  • 规则

    • 整数长度足够,数据完整。
    • 整数长度不够,数据截断。
    • 小数强转整数,数据截断。
    • 字符整数互转,数据完整。
  • 类型转换方法

    • - 字符串 转其他类型:类型.Parse(字符串)
      
    • 字符串 转其他类型:Convert.Toint32(需要转换的内容)
    • 任意类型转 字符串:Convert.Tostring(需要转换的内容)
    • 任意类型转 字符串:需要转换的内容.Tostring
    • 数组类型转换:Array.ConvertAll<需转换类型, 转换后类型>(数组名, s => 转换后类型.Parse(s))

运算符和操作符

  • 算术运算符

    • +(加) - (减) *(乘) /(除) %(模) ++(递增+1) --(递减-1)
  • 比较运算符

    • < >= <= ==(等于) !=(不等于)

  • 逻辑运算符

    • &&(与) ||(或) !(非)
  • 赋值运算符

    • 右边进行运算 再将运算的结果赋值给左边
  • 操作符

    • = += -= *= /= %=

    • ? : 布尔表达式

      • ? 结果1 : 结果2

        • (真)获得结果1 (假)获得结果2
  • 进行算数运算时

    • - 两个操作数有一个为double,计算结果提升为double。
      
    • 如果操作数中没有double,有一个为float,计算结果提升为float。
    • 如果操作数中没有float,有一 个为long,计算结果提升为long。
    • 如果操作数中没有long,有一个为int,计算结果提升为int。
    • 如果操作数中没有int,均为short或byte,计算结果仍旧提升为int。
    • 任何类型与String相加(+)时,实为拼接,其结果自动提升为String。

第2章 类与对象;修饰符

类的定义与对象的实例化

  • 类的定义

    • 文件名就是类名,文件名是其它的文件
  • 给类中添加属性

    • - 私有属性:String color;
      
    • - 公有属性:public String color;
      
  • 对象的实例化

    • 类名 变量名 = new 类名();
  • 获取对象的属性值并修改

    • 对象.属性名=值

定义方法并使用

  • 定义方法格式

    • 访问修饰符 返回值类型 方法名( 形参的类型 形参名称 ){方法执行内容}
  • 返回值类型

    • - 默认:void
      
    • 基本类型:如int
    • 数组:数组名[]
    • 字符串:String
    • 自定义的类:类名
  • 调用方法

    • 对象调方法:对象.方法名( );
      方法调方法:方法名( );
  • 调用带有返回值的方法

    • 用一个和返回值相同类型的变量 接收这个返回值
    • 返回值类型 变量名 = 对象.方法名( );
  • 调用带有参数的方法

    • 对象.方法名( 实参1,实参n );

对象数组

  • 与普通数组的区别

    • - 对象数组可以存自定义对象
      
    • 普通数组存基本数据类型
  • 对象数组的定义

    • 类名[] 变量名 = new 类名[长度];
  • 对象数组中的方法调用

    • 遍历调用每一个数组成员的方法

修饰符

  • 属性修饰符

    • Serializable:按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。
    • 任何对该对象的方法调用都是在服务器上进行的。
    • STAThread:单线程套间、是一种线程模型
    • MTAThread:多线程套间、是一种线程模型
  • 访问修饰符

    • - 公有访问:public、不受任何限制
      
    • 保护访问:protected、实例不能访问
    • 私有访问:private、子类,实例都不能访问
    • 内部访问:internal、只限本项目内访问,其他不能访问
    • 内部保护访问:protected internal 内部保护访问,只限于本项目或是子类访问,其他不能访问
  • 类修饰符

    • - public:不受限制
      
    • internal:只限本项目内访问
    • Partial:部分类,可以将一个类分成几部分写在不同文件中,最终编译时将合并成一个文件,
    • 且各个部分不能分散在不同程序集中。常见场景在Winform定义窗体或者控件时,自动生成的前端单元和逻辑单元。
    • Abstract:修饰类,表示不能够创建该类的实例。修饰方法,表示该方法需要由子类来实现,
    • 如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一定是抽象类。
      -Sealed:修饰类,表示该类不能够被继承。修饰方法,表示该方法不能被覆写。
      -Static:修饰类,表示不能够实例化该类的对象,也不能含有对象成员;
      修饰类成员时,该成员为类成员,只能通过【类.成员名】的方式访问。
  • 成员修饰符

    • - 公共修饰符:public
      
    • 私有修饰符:private
    • 保护修饰符:protected
    • 内部修饰符:internal
    • Virtual:修饰方法成员,表示虚方法。父类可以含有该类的实现,子类可以覆写该函数。
    • Override:表示该方法为覆写了父类的方法。
    • Readonly:修饰字段,表示该字段为只读字段。
    • Const:修饰字段,表示该字段为只读字段。并且在编译时必须能够明确知道该字段的值,
    • 其值是硬编码到程序中去的,修改了该类型成员后需要重新编译才能使修改生效。
    • Readonly不能修饰局部变量,const可以。
    • abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。
    • 抽象类可以包含抽象的成员,但这并非必须。abstract不能和new同时用。
    • sealed用来修饰类为密封类,阻止该类被继承。
    • 同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的。
    • 注意:当一个类或方法没有被任何修饰符修饰时,默认为internal。

访问器

  • 作用

    • 在私有字段使用时,给读写权限
  • 用法:封装字段

    • public 类型 属性名{ get{} set{} }
  • get访问器

    • - 取值时,会触发的代码、负责读权限
      
    • 用法:get { return 私有字段; }
  • set访问器

    • - 赋值时,会触发的代码、负责写权限
      
    • 赋值:value
    • 用法:set { 私有字段 = value; }

关键词

  • 对象本身:this

  • 引用传递

    • ref

      • 给方法传递值类型的参数,直接操作同一个变量,必须设置其初始值,侧重于修改
    • out

      • 和ref相似,且可以不设置初始值,但是在方法中必须初始化,侧重于输出

预处理器:#region、可折叠代码块

  • 用法

    • #region 折叠后的说明文字
      折叠的代码
      #endregion

异常捕捉:Try-Catch

  • 用法

    • Try {
      有可能出现错误的代码写这里
      }
      Catch {
      出错后执行的代码
      }
      finally {
      无论如何都会执行的代码
      }
  • Try作用

    • - 如果代码没有出错,则正常运行Try中的内容,不会执行Catch中的内容。
      
    • 如果代码一旦出错,立即执行Catch代码,Try后面的代码不再执行了

第3章 条件结构和循环结构

程序和程序结构

  • ● 程序概念:计算机为了实现某种特定的功能而编写的一段程序
    ● 顺序结构:按照程序的顺序执行
    ● 选择结构:根据给定的条件进行判断,由判断的结果确定下一步的执行
    ● 循环结构:在条件成立的范围内,重复的执行
    ● 条件的本质最终就是布尔值

if选择结构

  • 概念

    • 是一种根据条件判断之后 再做处理的语法结构
  • 用法

    • 第一个条件不成立时,执行第二个条件,都不成立执行else

switch结构

  • 概念

    • 用于处理定值的分支
  • 属性

    • -   break:打破的意思 会让代码跳出整个循环体、必须有
      
    • default:都不满足时,执行这个程序
    • yield:产生一个指定值来转移控制权
      

while和for循环结构

  • 概念

    • 在条件成立的范围内,重复的执行
  • while():基本循环结构

  • do{}while():至少会执行一次,再判断条件

  • for():括号里填 初始值、循环条件、条件变化

  • 属性

    • continue 跳过本轮循环,下一轮还会继续
      break 跳出整个循环体,会执行循环体后面的代码
  • foreach循环结构

    • 概念

      • - 用于列举出集合中所有的元素,可以迭代数组或者一个集合对象
        
    • foreach循环是只读的,不能遍历修改数据

    • 用法

      • foreach (只读变量 in 集合名) { Console.WriteLine(变量); }

字符串的属性

  • 得到字符串的字符数:Length
  • 不分配存储空间:string.Empty

第4章 字符串的属性和方法

构造方法:new string(‘字符’,数量)

判断字符串是否相同:Equals()

  • 不区分大小写:Equals(a, StringComparison.Ordinal IgnoreCase)

比较字符串值的大小:string.Compare(Str1,Str2)

  • 返回整数

    • 1表示大于
      0表示等于
      -1表示小于
  • 字符一个个进行比较,只要一个字符不相同,那么就停止比较得出结果

获取字符串中,内容的索引位置

  • 从左边开始找:IndexOf()

  • 从末尾开始找:LastIndexOf()

    • 注意点:lastIndexOf,返回的是从左往右数的下标

字符串的截取:Substring()

  • 一个参数表示从指定的位置截取字符串到结束
  • 两个参数表示从参数1开始截取,截取参数2长度的内容

分割字符串为字符串数组:Split()

  • 分割后用数组接收,分割符会消失,且左右两边的字符串会分成两份

拼接字符串数组为字符串:string.Join(“拼接符”,数组名)

  • 数组的数据之间,用拼接符进行拼接

字符串转换大小写

  • 小写:字符串.ToLower()
  • 大写:字符串.ToUpper()

去掉字符串的空格:Trim()

  • - 去掉前后空格:字符串.Trim()
    
    • 去掉前面的空格:字符串.TrimStart();
    • 去掉后面的空格:字符串.TrimEnd();

判断是否以指定子字符串开始:StartsWith()

判断是否以指定子字符串结束:EndsWith()

判断是否包含指定的子字符串:Contains()

将指定的子字符串替换成你想要的字符串:Replace()

判断字符串是否为空:string.IsNullOrEmpty()

槽占位拼接字符串:string.Format()

  • - 占位长度:{槽位 , n}、占n的长度,正数右对齐,负数左对齐
    
    • 货币格式:{槽位 : Cn}、输出货币格式,保留n的小数位数
    • 保留小数位数:{槽位 : Fn}、保留n的小数位数
    • 数字三位分级法:{槽位 : N}、整数从右到左每三个数加一个逗号
    • 百分比计数法:{槽位 : Pn}、以百分比计数,保留n的小数位数
    • 十六进制格式:{槽位 : X000}、输出十六进制格式

字符串的连接:string.Concat(字符串1,字符串2)

valueOf()

  • - 数据类型.valueOf( 整数或字符串, 指定使用的进制数 );返回对应类型
    
    • 整数:Integer 小数:Float、Double 字符串:string
* Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task &#39;:app:compileDebugJavaWithJavac&#39;. at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) Caused by: org.gradle.api.internal.artifacts.ivyservice.TypedResolveException: Could not resolve all files for configuration &#39;:app:androidJdkImage&#39;. at org.gradle.api.internal.artifacts.ResolveExceptionMapper.mapFailure(ResolveExceptionMapper.java:68) at org.gradle.api.internal.artifacts.ResolveExceptionMapper.mapFailures(ResolveExceptionMapper.java:60) at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.mapFailure(DefaultConfiguration.java:1984) at org.gradle.api.internal.artifacts.configurations.ResolutionHost.rethrowFailure(ResolutionHost.java:48) at org.gradle.api.internal.artifacts.configurations.ResolutionBackedFileCollection.maybeThrowResolutionFailures(ResolutionBackedFileCollection.java:84) at org.gradle.api.internal.artifacts.configurations.ResolutionBackedFileCollection.visitContents(ResolutionBackedFileCollection.java:74) at org.gradle.api.internal.file.AbstractFileCollection.getFiles(AbstractFileCollection.java:123) at org.gradle.api.internal.file.AbstractFileCollection$FileCollectionElementsFactory.create(AbstractFileCollection.java:225) at org.gradle.api.internal.file.AbstractFileCollection$FileCollectionElementsFactory.create(AbstractFileCollection.java:213) at org.gradle.api.internal.provider.BuildableBackedProvider.calculateOwnValue(BuildableBackedProvider.java:94) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:81) at org.gradle.api.internal.provider.AbstractMinimalProvider.getOrNull(AbstractMinimalProvider.java:105) at org.gradle.api.internal.provider.ProviderResolutionStrategy$1.resolve(ProviderResolutionStrategy.java:27) at org.gradle.api.internal.file.collections.ProviderBackedFileCollection.visitChildren(ProviderBackedFileCollection.java:64) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:113) at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:77) at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:92) at org.gradle.api.internal.file.DefaultFileCollectionFactory$ResolvingFileCollection.visitChildren(DefaultFileCollectionFactory.java:306) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:113) at org.gradle.api.internal.tasks.PropertyFileCollection.visitChildren(PropertyFileCollection.java:48) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.internal.fingerprint.impl.DefaultFileCollectionSnapshotter.snapshot(DefaultFileCollectionSnapshotter.java:47) at org.gradle.internal.execution.impl.DefaultInputFingerprinter$InputCollectingVisitor.visitInputFileProperty(DefaultInputFingerprinter.java:133) at org.gradle.api.internal.tasks.execution.TaskExecution.visitRegularInputs(TaskExecution.java:324) at org.gradle.internal.execution.impl.DefaultInputFingerprinter.fingerprintInputProperties(DefaultInputFingerprinter.java:63) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.captureExecutionStateWithOutputs(AbstractCaptureStateBeforeExecutionStep.java:109) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.lambda$captureExecutionState$0(AbstractCaptureStateBeforeExecutionStep.java:74) at org.gradle.internal.execution.steps.BuildOperationStep$1.call(BuildOperationStep.java:37) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.execution.steps.BuildOperationStep.operation(BuildOperationStep.java:34) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.captureExecutionState(AbstractCaptureStateBeforeExecutionStep.java:69) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:62) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35) at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35) at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}. at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.lambda$visit$4(TransformingAsyncArtifactListener.java:243) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:293) at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.visit(TransformingAsyncArtifactListener.java:235) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ParallelResolveArtifactSet$VisitingSet$StartVisitAction.visitResults(ParallelResolveArtifactSet.java:100) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ParallelResolveArtifactSet$VisitingSet.visit(ParallelResolveArtifactSet.java:69) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ResolvedArtifactSetResolver$1.run(ResolvedArtifactSetResolver.java:65) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ResolvedArtifactSetResolver.visitArtifacts(ResolvedArtifactSetResolver.java:62) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ResolvedArtifactSetResolver.lambda$visitInUnmanagedWorkerThread$0(ResolvedArtifactSetResolver.java:58) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsUnmanagedWorkerThread(DefaultWorkerLeaseService.java:139) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ResolvedArtifactSetResolver.visitInUnmanagedWorkerThread(ResolvedArtifactSetResolver.java:58) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.DefaultSelectedArtifactSet.visitArtifacts(DefaultSelectedArtifactSet.java:59) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.SelectedArtifactSet.visitFiles(SelectedArtifactSet.java:34) at org.gradle.api.internal.artifacts.configurations.ResolutionBackedFileCollection.visitContents(ResolutionBackedFileCollection.java:73) at org.gradle.api.internal.file.AbstractFileCollection.getFiles(AbstractFileCollection.java:123) at org.gradle.api.internal.file.AbstractFileCollection$FileCollectionElementsFactory.create(AbstractFileCollection.java:225) at org.gradle.api.internal.file.AbstractFileCollection$FileCollectionElementsFactory.create(AbstractFileCollection.java:213) at org.gradle.api.internal.provider.BuildableBackedProvider.calculateOwnValue(BuildableBackedProvider.java:94) at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:115) at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:81) at org.gradle.api.internal.provider.AbstractMinimalProvider.getOrNull(AbstractMinimalProvider.java:105) at org.gradle.api.internal.provider.ProviderResolutionStrategy$1.resolve(ProviderResolutionStrategy.java:27) at org.gradle.api.internal.file.collections.ProviderBackedFileCollection.visitChildren(ProviderBackedFileCollection.java:64) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:113) at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:77) at org.gradle.api.internal.file.collections.UnpackingVisitor.add(UnpackingVisitor.java:92) at org.gradle.api.internal.file.DefaultFileCollectionFactory$ResolvingFileCollection.visitChildren(DefaultFileCollectionFactory.java:306) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.api.internal.file.CompositeFileCollection.lambda$visitContents$0(CompositeFileCollection.java:113) at org.gradle.api.internal.tasks.PropertyFileCollection.visitChildren(PropertyFileCollection.java:48) at org.gradle.api.internal.file.CompositeFileCollection.visitContents(CompositeFileCollection.java:113) at org.gradle.api.internal.file.AbstractFileCollection.visitStructure(AbstractFileCollection.java:360) at org.gradle.internal.fingerprint.impl.DefaultFileCollectionSnapshotter.snapshot(DefaultFileCollectionSnapshotter.java:47) at org.gradle.internal.execution.impl.DefaultInputFingerprinter$InputCollectingVisitor.visitInputFileProperty(DefaultInputFingerprinter.java:133) at org.gradle.api.internal.tasks.execution.TaskExecution.visitRegularInputs(TaskExecution.java:324) at org.gradle.internal.execution.impl.DefaultInputFingerprinter.fingerprintInputProperties(DefaultInputFingerprinter.java:63) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.captureExecutionStateWithOutputs(AbstractCaptureStateBeforeExecutionStep.java:109) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.lambda$captureExecutionState$0(AbstractCaptureStateBeforeExecutionStep.java:74) at org.gradle.internal.execution.steps.BuildOperationStep$1.call(BuildOperationStep.java:37) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.execution.steps.BuildOperationStep.operation(BuildOperationStep.java:34) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.captureExecutionState(AbstractCaptureStateBeforeExecutionStep.java:69) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:62) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61) at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36) at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75) at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35) at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31) at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35) at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) Caused by: org.gradle.api.internal.artifacts.transform.TransformException: Execution failed for JdkImageTransform: D:\AndroidConfig\Config\Sdk\platforms\android-34\core-for-system-modules.jar. at org.gradle.api.internal.artifacts.transform.DefaultTransformInvocationFactory.lambda$createInvocation$1(DefaultTransformInvocationFactory.java:167) at org.gradle.internal.Try$Failure.mapFailure(Try.java:284) at org.gradle.api.internal.artifacts.transform.DefaultTransformInvocationFactory.lambda$createInvocation$2(DefaultTransformInvocationFactory.java:167) at org.gradle.internal.Deferrable$1.applyAndRequireNonNull(Deferrable.java:63) at org.gradle.internal.Deferrable$1.completeAndGet(Deferrable.java:59) at org.gradle.internal.Deferrable$1.completeAndGet(Deferrable.java:59) at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.finalizeValue(TransformingAsyncArtifactListener.java:209) at org.gradle.api.internal.artifacts.transform.TransformingAsyncArtifactListener$TransformedArtifact.run(TransformingAsyncArtifactListener.java:147) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute(DefaultBuildOperationExecutor.java:161) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:272) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch(DefaultBuildOperationQueue.java:253) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0(DefaultBuildOperationQueue.java:238) at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges(AbstractResourceLockRegistry.java:50) at org.gradle.internal.work.DefaultWorkerLeaseService.whileDisallowingProjectLockChanges(DefaultWorkerLeaseService.java:235) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1(DefaultBuildOperationQueue.java:238) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:125) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:224) at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:192) at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:105) at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:106) at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:65) at org.gradle.api.internal.artifacts.ivyservice.resolveengine.artifact.ParallelResolveArtifactSet$VisitingSet.visit(ParallelResolveArtifactSet.java:66) ... 105 more Caused by: org.gradle.internal.operations.BuildOperationInvocationException: Error while executing process D:\SoftWare\newAndroid\android2\jbr\bin\jlink.exe with arguments {--module-path C:\Users\admin\.gradle\caches\8.10.2\transforms\73cc26e84e2b1fe223bf013aae2cd695-9928d3b1-c9ec-41a7-be04-ed59418c1ad3\transformed\output\temp\jmod --add-modules java.base --output C:\Users\admin\.gradle\caches\8.10.2\transforms\73cc26e84e2b1fe223bf013aae2cd695-9928d3b1-c9ec-41a7-be04-ed59418c1ad3\transformed\output\jdkImage --disable-plugin system-modules} at org.gradle.internal.operations.DefaultBuildOperationRunner.throwAsBuildOperationInvocationException(DefaultBuildOperationRunner.java:197) at org.gradle.internal.operations.DefaultBuildOperationRunner.access$100(DefaultBuildOperationRunner.java:24) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.artifacts.transform.AbstractTransformExecution.executeWithinTransformerListener(AbstractTransformExecution.java:141) at org.gradle.api.internal.artifacts.transform.AbstractTransformExecution.execute(AbstractTransformExecution.java:134) at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105) at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50) at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26) at org.gradle.internal.execution.steps.NoInputChangesStep.execute(NoInputChangesStep.java:30) at org.gradle.internal.execution.steps.NoInputChangesStep.execute(NoInputChangesStep.java:21) at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69) at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189) at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75) at org.gradle.internal.Either$Right.fold(Either.java:175) at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48) at org.gradle.internal.execution.steps.NeverUpToDateStep.execute(NeverUpToDateStep.java:34) at org.gradle.internal.execution.steps.NeverUpToDateStep.execute(NeverUpToDateStep.java:22) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) at org.gradle.internal.execution.steps.ResolveNonIncrementalCachingStateStep.executeDelegate(ResolveNonIncrementalCachingStateStep.java:50) at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71) at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:107) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:56) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64) at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.AssignImmutableWorkspaceStep.lambda$executeInTemporaryWorkspace$3(AssignImmutableWorkspaceStep.java:209) at org.gradle.internal.execution.workspace.impl.CacheBasedImmutableWorkspaceProvider$1.withTemporaryWorkspace(CacheBasedImmutableWorkspaceProvider.java:119) at org.gradle.internal.execution.steps.AssignImmutableWorkspaceStep.executeInTemporaryWorkspace(AssignImmutableWorkspaceStep.java:199) at org.gradle.internal.execution.steps.AssignImmutableWorkspaceStep.lambda$execute$0(AssignImmutableWorkspaceStep.java:121) at org.gradle.internal.execution.steps.AssignImmutableWorkspaceStep.execute(AssignImmutableWorkspaceStep.java:121) at org.gradle.internal.execution.steps.AssignImmutableWorkspaceStep.execute(AssignImmutableWorkspaceStep.java:90) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:38) at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$0(ExecuteWorkBuildOperationFiringStep.java:53) at org.gradle.internal.execution.steps.BuildOperationStep$1.call(BuildOperationStep.java:37) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.execution.steps.BuildOperationStep.operation(BuildOperationStep.java:34) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$1(ExecuteWorkBuildOperationFiringStep.java:51) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:51) at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46) at org.gradle.internal.execution.steps.IdentityCacheStep.executeInCache(IdentityCacheStep.java:80) at org.gradle.internal.execution.steps.IdentityCacheStep.lambda$executeDeferred$0(IdentityCacheStep.java:60) at org.gradle.cache.Cache.lambda$get$0(Cache.java:31) at org.gradle.cache.ManualEvictionInMemoryCache.get(ManualEvictionInMemoryCache.java:30) at org.gradle.cache.internal.DefaultCrossBuildInMemoryCacheFactory$CrossBuildCacheRetainingDataFromPreviousBuild.get(DefaultCrossBuildInMemoryCacheFactory.java:255) at org.gradle.cache.Cache.get(Cache.java:31) at org.gradle.internal.execution.steps.IdentityCacheStep.lambda$executeDeferred$1(IdentityCacheStep.java:58) at org.gradle.internal.Deferrable$3.completeAndGet(Deferrable.java:117) ... 127 more Caused by: com.android.ide.common.process.ProcessException: Error while executing process D:\SoftWare\newAndroid\android2\jbr\bin\jlink.exe with arguments {--module-path C:\Users\admin\.gradle\caches\8.10.2\transforms\73cc26e84e2b1fe223bf013aae2cd695-9928d3b1-c9ec-41a7-be04-ed59418c1ad3\transformed\output\temp\jmod --add-modules java.base --output C:\Users\admin\.gradle\caches\8.10.2\transforms\73cc26e84e2b1fe223bf013aae2cd695-9928d3b1-c9ec-41a7-be04-ed59418c1ad3\transformed\output\jdkImage --disable-plugin system-modules} at com.android.build.gradle.internal.process.GradleProcessResult.buildProcessException(GradleProcessResult.java:73) at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:48) at com.android.build.gradle.internal.dependency.JdkTools.linkJmodsIntoJdkImage(JdkImageTransformDelegate.kt:253) at com.android.build.gradle.internal.dependency.JdkImageTransformDelegate.run(JdkImageTransformDelegate.kt:61) at com.android.build.gradle.internal.dependency.JdkImageTransform.transform(JdkImageTransform.kt:81) at org.gradle.api.internal.artifacts.transform.DefaultTransform.transform(DefaultTransform.java:276) at org.gradle.api.internal.artifacts.transform.AbstractTransformExecution$2.call(AbstractTransformExecution.java:147) at org.gradle.api.internal.artifacts.transform.AbstractTransformExecution$2.call(AbstractTransformExecution.java:141) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) ... 205 more Caused by: org.gradle.process.internal.ExecException: Process &#39;command &#39;D:\SoftWare\newAndroid\android2\jbr\bin\jlink.exe&#39;&#39; finished with non-zero exit value 1 at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:442) at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:46) ... 214 more Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use &#39;--warning-mode all&#39; to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 8s 30 actionable tasks: 8 executed, 22 up-to-date 啥意思
08-19
你遇到的这个报错信息非常长,核心错误是: ``` Execution failed for task &#39;:app:compileDebugJavaWithJavac&#39;. ... Could not resolve all files for configuration &#39;:app:androidJdkImage&#39;. ... Failed to transform core-for-system-modules.jar to match attributes... ... Process &#39;command &#39;D:\SoftWare\newAndroid\android2\jbr\bin\jlink.exe&#39;&#39; finished with non-zero exit value 1 ``` --- ## 🧾 错误含义: 这个错误发生在 **Gradle 构建过程中尝试使用 `jlink` 工具生成 JDK Image 的时候**,但执行失败了。 具体来说: - Gradle 尝试通过 `jlink.exe`(Java 的模块化工具)生成一个用于 Android 构建的 JDK Image。 - 但在执行 `jlink` 时失败,返回了错误码 `1`,表示命令执行失败。 - 这个失败导致 Gradle 无法完成编译任务 `:app:compileDebugJavaWithJavac`。 --- ## 🔍 可能原因分析: ### ✅ 1. **JDK 路径或版本问题** - Gradle 使用了错误的 JDK 或路径配置。 - 你使用的是 Android Studio 自带的 **Embedded JDK(Embedded JBR)**,路径是: `D:\SoftWare\newAndroid\android2\jbr\bin\jlink.exe` 但这个 JDK 可能不支持 `jlink` 或者被损坏。 ### ✅ 2. **JBR(JetBrains Runtime)不支持 jlink** - Android Studio 使用的默认 JDK 是 JetBrains Runtime(JBR),它是定制版本的 JDK,**不包含 `jlink` 工具**- 如果 Gradle 构建需要使用 `jlink`,而你使用的是 JBR,就会报错。 ### ✅ 3. **Gradle 插件版本与 JDK 不兼容** - 你可能使用了较新的 Gradle 插件(如 8.1+),它尝试使用 `jlink` 来处理 JDK Image。 - 但你的 JDK 环境不支持该功能。 --- ## ✅ 解决方法: ### 方法一:【推荐】更换为标准 JDK(如 OpenJDK / Adoptium) 1. **下载标准 JDK(建议使用 JDK 17)** - 推荐:[Adoptium(原 AdoptOpenJDK)](https://adoptium.net/) 2. **在 Android Studio 中设置 JDK 路径:** - 打开 Android Studio - `File` → `Settings` (Windows) 或 `Preferences` (Mac) - 搜索 `SDKs` 或 `Gradle` - 在 `Gradle Settings` 中找到 `Gradle JVM` - 改为使用你安装的标准 JDK(如:`C:\Program Files\Java\jdk-17.0.1`) 3. **同步项目并重新构建:** ```bash ./gradlew clean build ``` --- ### 方法二:禁用 JDK Image 构建(适用于不需要该功能的项目) 如果你确定你的项目不需要 `jlink` 生成的 JDK Image,可以尝试在 `gradle.properties` 中添加: ```properties android.enableJetifier=true android.useAndroidX=true android.enableJetifier=true android.disableJetifier=false android.enableJetifier=true android.enableJetifier=true org.gradle.jvmargs=-Xmx2048m -Dkotlin.daemon.jvm.options\="-Xmx2048m" android.enableJetifier=true ``` 或者尝试禁用相关功能(如果知道具体插件)。 --- ### 方法三:降级 Gradle 插件版本 如果你使用的是较新的 Android Gradle 插件(如 8.0+),它可能默认启用了一些 JDK Image 功能。 你可以尝试降级到 7.4.x: ```groovy // build.gradle (Project-level) classpath &#39;com.android.tools.build:gradle:7.4.2&#39; ``` 并确保 Gradle 版本兼容(如 7.5): ```properties # gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip ``` --- ## 🧠 总结 | 原因 | 解决方案 | |------|-----------| | 使用了不支持 `jlink` 的 JBR JDK | 改用标准 JDK(如 Adoptium) | | Gradle 插件版本过高 | 降级到 7.4.x | | 不需要 JDK Image 构建 | 尝试禁用相关功能或插件 | --- ##
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值