相信技术的力量

AndroidStudio使用中的问题记录

Android Studio在使用过程中遇到了各种各样的小问题 , 记录在此 , 方便备查 , 后续若再有新问题 , 也追加到这里.

首次安装AS,卡在downloading Components界面

  1. 从任务管理器中强制退出
  2. 在AndroidStudio安装目录的bin目录下,打开 idea.properties 文件
  3. 在文件末尾追加 disable.android.first.run=true 即可

卡在Refreshing ...gradle project

这是因为AS去联网下载对应的gradle了,如果网速比较慢的话 , 这个过程可能需要消耗很长时间 .

解决:
可以选择去gradle网站下载好安装包,然后再复制到C:\Users\Administrator.gradle\wrapper\dists目录下即可.
gradle安装包下载地址(不用翻墙,可用)

 It is currently in use by another Gradle instance

 Error:Timeout waiting to lock artifact cache (C:\Users\Crocutax\.gradle\caches\modules-2). It is currently in use by another Gradle instance.
 Owner PID: 16896
 Our PID: 10860
 Owner Operation: resolve configuration ':classpath'
 Our operation: resolve configuration ':classpath'
 Lock file: C:\Users\Crocutax\.gradle\caches\modules-2\modules-2.lock

解决方法:

  1. 去往指定目录C:\Users\Crocutax.gradle\caches\modules-2
  2. 删除modules-2.lock文件,此时会提示该文件被Java占用,无法删除
  3. 调出任务管理器,将跟Java相关的进程杀死,即可正常删除该文件
    Java进程
  4. Android Studio 重新Build即可

 gradle project refresh failed Error: “Invalid argument”

app/build.gradle里dependencies有错误 , 看看是不是小手一抖,把某个依赖的名字改错了.

Failed to resolve dependencies

gradle添加远程依赖时,出现

Failed to resolve dependencies xxx

1.看看是不是网络不行,看github能否访问,用vpn试试

2.在project/build.gradle中添加仓库地址

allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

 Plugin with id 'android-library' not found

在项目的build.gradle中添加如下代码

 buildscript {
     repositories {
         jcenter()
     }

     dependencies {
         classpath 'com.android.tools.build:gradle:2.3.1'
     }
 }

OutOfMemoryError

Error:UNEXPECTED TOP-LEVEL ERROR:
Error:java.lang.OutOfMemoryError: GC overhead limit exceeded

编译时内存溢出,需要为为虚拟机分配更大的内存,在module的builg.gradle文件中


android{
    ...
    dexOptions {
        //incremental true
        javaMaxHeapSize "2048M"
    }
}

Error:(147) Apostrophe not preceded by \ (in Cost can't be empty)

项目中的一个strings.xml文件里有某个string标签中的字符串含有 " ’ " 符号,我们只要在 " ’ " 符号 之前加 "\" 进行转义就可以解决这个错误,比如把Can’t修改为Can\’t就可以了。

    Cost can't be empty 错误
    Cost can\'t be empty 正确

XML中无法预览

提示 Rendering Problems Missing styles
解决 : 
选一个App Theme即可,比如 Black.No TitleBar

识别不到Genymotion Device

  1. 打开genymotion.exe , settings -> ADB -> Use custom Android SDK tools
  2. 设置sdk的目录位置为你Android studio使用的sdk的目录 , 例如 D:\Dev\Android\sdk
  3. 将Genymotion Device和AndroidStudio 都重启

!zip.isFile()

gradle编译时报如下异常

Error:Execution failed for task ':app:packageDebug'. > !zip.isFile()

顶部工具栏 Clean and Rebuild project 完事

Find in Path全局搜索失败

Ctrl+Shift+F 调出Find in path全局搜索页面,输入关键字搜索时,发现明明项目里有这个内容,但是却在Preview界面没有任何结果展示.

解决方案:

Find in path->Options->File name filter,把File masks的对勾去掉.就可以正常使用了.

FindInPath设置.png

.AndroidStudio2.X目录移动至其他目录

.AndroidStudio2.X 默认放在C盘的C:\Users{yourUsername}/目录下,轻轻松松占用几个G的磁盘空间,不过一般C盘是系统盘,所以希望保留足够的剩余空间.此时可以将此目录剪切到任何地方.然后做如下配置修改:

1.在AndroidStudio安装目录(比如D:\Dev\Android\Android Studio\bin),找到idea.properties配置文件

里面有两个默认配置如下

#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# idea.config.path=${user.home}/.AndroidStudio/config

#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# idea.system.path=${user.home}/.AndroidStudio/system

2.针对于idea.config.pathidea.system.path,可以修改原有默认配置,或者新增均可,然后取消前面的注释符号#即可.
比如修改后为

idea.config.path=D:\cache\.AndroidStudio2.3\config
idea.system.path=D:\cache\.AndroidStudio2.3\system

⬆️