- 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'
- 在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
,顺利完成,不再报错。
- rebuild的时候人、遇到如下错误:
Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define
报错原因:第三方包重复导入,我添加了lib,同时在build.gradle中添加了依赖,导致同样的包重复导入。删掉其中一个就好了。
- 打开相机时报如下错:
sorry. android camera encountered a problem.you may need to restart the device.
原因:在Android6.0以上版本中,打开相机需要先申请权限,报错的原因是既没有在代码中申请权限,也没有在手机设置中手动开启权限。
- 编译的时候AndroidManifest.xml(build目录下的)命名空间报错。
原因:AndroidManifest中有的地方写错了,比如<intent-filter>
重复,或者位置不对(应该在某个activity标签下)。仔细检查AndroidManifest.xml
文件中有没有写错的地方,改过来rebuild就可以了。 - 把第三方工程引入项目时,报错如下:
Project with path ':pullToRefresh' could not be found in project ':app'.
解决方案:
把第三方项目放到和app统计目录下。
在app的build.gradle
中加入:
dependencies {
implementation project(':pullToRefresh')
}
在project的settings.gradle
中添加:
include ':pullToRefresh'