Android开发常见的报错问题(持续更新记录)

一、gradle 同步报 Caused by: java.lang.NoSuchFieldError: ASCII的错误

场景:之前又一个2018年那时候的项目,但不记得那时候的Android studio的版本了,目前是2022年的AS版本是4.2.2版本。运行那个2018年的项目就无法跑起来了,报错就是提示ASCII的错误,当时就在想是不是项目中包含了中文路径,或者非法的字符,一顿查一顿改都没用。

解决:升级gradle的版本:gradle之前版本是3.2.0更新到高一些的版本就可以了。(可以找一个能跑起来的项目看看gradle版本。)

Android开发常见的报错问题(持续更新记录)_第1张图片

project项目级别的gradle文件:
classpath 'com.android.tools.build:gradle:x.x.x'
同时,gradle-wrapper.properties更新到5.6.4版本:
distributionUrl=https://services.gradle.org/distributions/gradle-5.6.4-all.zip


二、AS编译报错:line 1:0 mismatch input '?' expecting {COMMENT, SEA_WS, '<',PI}

场景:从github拉了一个项目,从项目中拷贝了一个xml文件到我的正常的可编译的项目中,拷进去后编译运行报错如下:

Android开发常见的报错问题(持续更新记录)_第2张图片

 Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:mergeDebugResources’.
……
Caused by: java.lang.NullPointerException
at android.databinding.tool.store.LayoutFileParser.parseOriginalXml(LayoutFileParser.java:128)
相关的报错信息直指向这个xml文件引发的空指针(因为可以点击错误信息跳转到这个xml文件,我忘记截图了)。第一次遇到因为一个xml文件(文件没有报错信息,文件表面看上去没任何问题)看到空指针,一脸懵。

在stackoverflow上找到了最终原因:android studio UTF-8 BOM format 的问题,如图

Android开发常见的报错问题(持续更新记录)_第3张图片

知道是 UTF-8 BOM format 的问题,说实话我也不知道这个BOM是啥,可能就是一种编码格式吧。
解决方案:右键项目->Remove Bom(菜单最底部有这个选项,点击即可),然后重新运行编译就可以了。

三、Could not resolve com.android.tools.build:gradle:7.4.1

今天打开AS的一个项目,遇到如上标题的gradle报错,截图如下:

Android开发常见的报错问题(持续更新记录)_第4张图片

 我的AS版本:

Android开发常见的报错问题(持续更新记录)_第5张图片

gradle版本:

Android开发常见的报错问题(持续更新记录)_第6张图片

 项目的build.gradle:

 问题所在:是因为jdk的版本不对,是最新的AndroidStudio 所用的gradle需要使用jdk11才能构建 ,因此要更改AndroidStudio的jdk版本。

解决办法:File -> ProjectStructure -> Gradle Setting . -> Gradle JDK

 Android开发常见的报错问题(持续更新记录)_第7张图片

 Android开发常见的报错问题(持续更新记录)_第8张图片

 重新同步一下gradle就好了。

 

你可能感兴趣的:(android,android,studio,gradle,android)