AndroidStudio 代码全红,但可正常运行解决方法及解决后续代理的问题

2019-05-30 20:38:22


参考文档 AndroidStudio 代码全红,但可正常运行解决方法及解决后续代理的问题

上周重装了下电脑,发现AndroidStudio 代码报错,全红,但又能正常编译。整理出了四种方法,供大家参考。


一、自带清除缓存

点击AndroidStudio菜单File -> Invalidate Caches/Restar… ,在弹出的对话框中点击Invalidate and Restar 

。等待AS清理并自动重启。 

 

二、删除user目录下.AndroidStudio中的文件

但我发现使用网上说的第一种方案不行,那么我就又查了下,用了其他的方法


关闭AndroidStudio,进入C:\Users\xUser.AndroidStudio3.1(3.1为当前AS版本号),删除除了config以外的文件。重新打开AndroidStudio会自动Sync,等待同步完成。 



三、删除user目录下.gradle

关闭AndroidStudio,删除C:\Users\xUser\.gradle。重新打开AndroidStudio会自动Sync,等待同步完成。 

注意:删除该文件夹所有的classpath、gradle、compile、implementation等,都需要重新从网上同步。 


四、删除工程目录下.gradle、.idea

关闭AndroidStudio,进入工程根目录,删除.gradle、.idea两个文件夹。重新打开AndroidStudio会自动Sync,等待同步完成。 


这么操作以后,就不会变红了,正常编译,但可能在运行的时候有另外的错误,上网查了下,一块解决了


报错“Error running ***: Please select Android SDK”

可能是刚刚在删除的时候,把一些配置给删除了,重新更新SDK被损坏的文件即可。解决办法如下:

首先依次选择主菜单“File”——“Settings”,菜单路径如下图所示:


上述菜单操作打开设置窗口,然后依次展开“Appearance & Behavior”——“System Settings”——“Android SDK”,在右边的设置界面编辑SDK的路径。如下图所示,单击SDK目录输入框右边的“Edit”链接(红框标注):


单击“Edit”链接之后打开SDK的设置界面如下图所示,这里SDK的目录保持不动,单击页面下方的“Next”按钮,在下一个页面继续单击“Next”按钮,等待Android Studio下载最新的编译工具,我这边是下载了最新的27.0.2版的build-tools。下载完成后单击页面右下角的“Finish”按钮完成更新操作。



回到Android Studio的主界面,此时会自动同步编译工具并重新编译,等待重编完成,即可正常执行Run app的操作了。


  • 2021-01-12 22:13:23

    UINavigationController和UIScrollView滚动-92

    如果navigation bar或者toolbar不透明,view controller就无法让它的view全屏显示。换句话说,如果不希望view controller里面的view全屏显示,就应该把navigation bar设为不透明。

  • 2021-01-12 22:15:46

    NSLog各种打印占位符

    打印CGRect : NSLog(@"%@",NSStringFromCGRect(someCGRect)); 或者CFShow(NSStringFromCGRect(someCGRect));

  • 2021-01-13 13:36:29

    shortid nodejs短id生成器

    短ID在实际运用中很广泛, 其中比较典型的运用就是短地址。 市面上肯定有不少开源的生成短ID库, 基于node.js的估计也不少。 鉴于本人已然是node.js的脑残粉(本职java开发), 很多业余项目从前端到后端都基于javascript开发, 加上npm和bower的包管理以及grunt的打包工具, 在项目开发过程中体验特别酸爽。 由于当时项目前后端都会用到短ID, 但没找到合适的库同时支持npm和bower的(可能孤陋寡闻). 因此自己乐此不疲地又造了个轮子js-shortid(夷,为什么会说又呢?!). 下面主要介绍它的实现方案, 自认为比较优雅简洁。

  • 2021-01-13 17:23:21

    CREATE TABLE 表名 AS SELECT 语句 快速复制表但是锁表

    注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键 在执行语句的时候,MySQL是逐行加锁的(扫描一个锁一个),直至锁住所有符合条件的数据,执行完毕才释放锁。所以当业务在进行的时候,切忌使用这种方法。 在RR隔离级别下,还会加行锁和间隙锁

  • 2021-01-13 17:27:04

    Navicat配置mysql数据库用户权限

    用数据库的时候就会遇到有多个用户,分配用户权限的情况,有些用户只读,有些用户可以读写,有些用户只能操作一个或者多个数据库,如何给mysql的用户设置权限,我这里描述一下如何用navicat图形操作分配用户权限

  • 2021-01-14 06:15:04

    通过glide获取图片显示后的真正宽高

    有时候需要获取网络图片的宽高来设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片的宽高,但是这样拿到的不是图片真正的宽高,而是图片显示在ImageView后的宽高。如下: