【写在前面】
按照官方文档的Room流程走下来,踩了一些坑,这里作一些记录。
【出现的错误】
顺序可能有出入
1.build失败,有些东西找不到
报错内容:
ERROR: Could not GET
‘https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/3.5.2/gradle-3.5.2.pom’
看到一位老哥的做法是:修改build.gradle(project)中buildscript下的dependencies的classpath版本号,改为自己Android Studio的gradle插件版本(具体自己去看文章:Android Studio报错:Error:Could not find com.android.tools.build:gradle:4.1 记一次不长记性的坑)
我自己的文件路径是(使用everything搜索m2repository):【SDK安装路径】\extras\android\m2repository\com\android\databinding\adapters
我自己本地最新版本是1.3.1,但是改了还是不行。
(我一直重复build)
突然发现一个新的报错
Error:Could not install Gradle distribution from ‘https:/
/services.gradle.org/distributions/gradle-5.4.1-all.zip’
然后我就去这个网站自己手动下载压缩包:gradle-5.4.1-all.zip
https://services.gradle.org/distributions/
下载之后,解压并放到Android Studio安装路径下的gradle文件夹。然后重新build一次。(如果你发现没有gradle文件夹,请往下看)
补充:版本号是报错信息提示我的,它说没有gradle-5.4.1-all.zip这个。如果你没有提示,建议多build几次,或者依次点击:菜单File–Project Structure… 在Project那一栏可以看到Gradle Version版本,然后去下载对应的的版本就好了,我猜all会包含所有东西(如果错了,请指出)
2.Android Studio安装路径下找不到gradle文件夹
我重装Android Studio很多次了,依然找不到
解决办法:
1)直接在Android Studio安装路径下新建一个名为gradle的文件夹,然后把刚刚下载的gradle压缩包解压并放在gradle文件夹下即可。
注意:不要在别的位置新建gradle文件夹!!!因为会报错
gradle location is incorrect
2)在Android Studio中修改gradle路径,改为你刚刚创建的gradle文件夹,注意要选择对应版本的文件夹
(设置完后记得先点击Apply再OK)
路径:File—Settings—Build, Execution, Deployment—Gradle
3)在Android Studio中重新build一下
3.Sync失败
(右上角)报错内容:
gradle project sync failed.Basic functionality(e.g.editing,debugging) will not work
参考:Android Studio报错gradle project sync failed.Basic functionality(e.g.editing,debugging) will not work
解决思路:需要修改一下jdk设置。
使用自己安装的jdk,不要用Android自带的(jdk版本最好1.8以上,比如我这次按照官方文档捋一遍Room流程时就要求要jdk1.8.x版本的)
路径:File—Project Structure—SDK Locaiton
修改JDK Locaiton路径。
如果没有安装或不知道怎么安装的,百度或者参考此文:
Java JDK下载、安装与环境变量配置
4.offline
报错内容:
No cached version of com.android.tools.build:aapt2:3.2.1-4818971 available for offline mode
参考此文:No cached version of com.android.tools.build:gradle:2.0.0 available for offline mode.
路径:File----Settings----Build, Execution, Deployment----Gradle
取消勾选Offline work
然后Apply,再OK
5.Received status code 400
报错内容
Could not GET xxx, Received status code 400 from server: Bad Request
参考此文:android studio gradle插件无法下载,Could not GET xxx, Received status code 400 from server: Bad Request
解决方法:(路径:C盘----用户----【用户名】-----.gradle)
去C盘下找.gradle文件夹,用记事本(或其他文本软件)打开gradle.properties。用#注释掉最后的四行
然后重新build。这时会弹出下面这个窗口,直接点击cancel即可(之后再出现也是点击cancel)
忽略以下红框,这是之前的图
build的过程极慢!耐心等待。
build成功了,然而。。。运行就报错
6.编译成功,运行失败 PreCompile
无论怎么弄(即便fq也不行。。可能是使用的软件速度太慢。。。),都是一运行就报错,是关于什么PreCompile的
【补充】我第一次按照该链接进行修改时并不成功!!一直显示Read timed out
报错内容:
Read timed out
Error:SSL peer shut down incorrectly
直到我看到这篇文章:Android Studio,Read timed out ,SSL peer shut down incorrectly 做法:在build.gradle(project)中加入以下代码。
google()
mavenCentral()
maven { url 'https://maven.google.com' }
jcenter()
最关键的是“顺序很重要”这一句话!!因为这些代码我的build.gradle(project)里面也有,但是顺序和博主的不太一样!!
参考:https://www.jianshu.com/p/3e0fca23fd80
注意:当我直接使用这四行之后,再返回去改用国内阿里云的maven库地址(参考),就成功了!!!
至此,所有报错解决完毕,程序运行正常(一把辛酸泪,撒花)
【额外补充】
(一)无需单独解决的
除了以上错误之外,我还遇到这些错误,不过当上面的问题解决了之后,下面这3个问题都自己消失了。
1.Run按钮是灰色
2.File----New时,找不到创建Java class的方式
3.File----New时,找不到创建Vector Asset的方式
(二)按照官方Room教程走,可能出现的错误
1.在第十步中,需要向layout/activity_main.xml中即将添加以下代码,其中
①android:padding="@dimen/big_padding"
可以去掉(如果你顺利走到第十三步的话,不删除也可以,后面会添加。这只是个样式问题,不会影响核心功能)
②把android:cnotallow="@string/add_word"
改为android:cnotallow="@+string/add_word"
即,在@后面加一个“+”
2.在第十三步中,会向activity_new_word.xml中添加以下代码。
其中红框部分的代码android:minHeight="@dimen/min_height"
会报红。直接删除它就好了(后面也没有添加该样式的代码,我暂时找不到解决方法,直接删除就行了,不会影响核心功能)
【参考文章汇总】
Android Studio报错:Error:Could not find com.android.tools.build:gradle:4.1 记一次不长记性的坑
Android Studio报错gradle project sync failed.Basic functionality(e.g.editing,debugging) will not work
Java JDK下载、安装与环境变量配置
No cached version of com.android.tools.build:gradle:2.0.0 available for offline mode.
解决Android studio导入项目gradle location is incorrect问题
android studio gradle插件无法下载,Could not GET xxx, Received status code 400 from server: Bad Request
AndroidStudio Gradle下载速度慢解决方法
Android Studio,Read timed out ,SSL peer shut down incorrectly