androidstudio配置环境遇到的各种错误(持续更新中)

  1. AndroidStudio3.0,gradle4.1,新建工程,遇到如下错误:
Error:Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support.test:runner:1.0.1.
Error:Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.android.support.test.espresso:espresso-core:3.0.1.

解决办法:
打开 build.gradle文件,在dependencies中将

androidTestImplementation 'com.android.support.test:runner:1.0.1'

改为:

androidTestImplementation 'com.android.support.test:runner:0.2'

 androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

改为:

 androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
  1. 在AndroidStudio的terminal执行gradle -v命令时,报
ERROR: JAVA_HOME is set to an invalid directory: Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

我用的是mac,以上报错原因是jdk环境变量配置有错误。

执行open ~/.bash_profile,打开.bash_profile文件,将下列粘进去。如果没有.bash_profile文件,自己创建一个,在~目录下。

GRADLE_USER_HOME=/Users/liangxinyu/Documents/gradle-4.6
export GRADLE_USER_HOME
export PATH=$PATH:$GRADLE_USER_HOME/bin
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

然后 执行source ~/.bash_profile,让刚才修改的.bash_profile文件生效。然后执行java -version,切换到其他目录,再执行一遍java -version,此时,jdk环境变量就配好了。

切回AndroidStudio的terminal执行gradle -v,顺利完成,不再报错。

  1. rebuild的时候人、遇到如下错误:
Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define

报错原因:第三方包重复导入,我添加了lib,同时在build.gradle中添加了依赖,导致同样的包重复导入。删掉其中一个就好了。

  1. 打开相机时报如下错:
sorry. android camera encountered a problem.you may need to restart the device.

原因:在Android6.0以上版本中,打开相机需要先申请权限,报错的原因是既没有在代码中申请权限,也没有在手机设置中手动开启权限。

  1. 编译的时候AndroidManifest.xml(build目录下的)命名空间报错。
    原因:AndroidManifest中有的地方写错了,比如<intent-filter>重复,或者位置不对(应该在某个activity标签下)。仔细检查AndroidManifest.xml文件中有没有写错的地方,改过来rebuild就可以了。
  2. 把第三方工程引入项目时,报错如下:
Project with path ':pullToRefresh' could not be found in project ':app'.

解决方案:
把第三方项目放到和app统计目录下。
在app的build.gradle中加入:

dependencies {
  implementation project(':pullToRefresh')
}

在project的settings.gradle中添加:

include ':pullToRefresh'

推荐阅读更多精彩内容