- 1、 java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
- 2、resources-yingyongbao-release-stripped.ap_’ specified for property ‘resourceFile’ does not exist.
- 3、can’t use subversion command line client: svn.
- 4、Suggestion: use tools:overrideLibrary=”android.support.v7.appcompat” to force usage
1、 java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0
翻译过来,很显然是 class 版本不支持。经查询,Android Studio2.2 必须使用 JDK8 及以上版本,而且是强制的。
所以呢,赶紧下了个 JDK8 最新版的。安装完毕,把 JAVA_HOME 指向了 JDK8,实测 JDK7 和 8 是可以共存的。
那么,重启 Android Studio 后问题解决,Build Successful !
2、resources-yingyongbao-release-stripped.ap_’ specified for property ‘resourceFile’ does not exist.
详细信息如下:
1 Error:A problem was found with the configuration of task ':app:packageYingyongbaoRelease'. File 'D:\Android\WorkSpace\CDSTM\app\build\intermediates\res\resources-yingyongbao-release-stripped.ap_' specified for property 'resourceFile' does not exist.
这是在打包的时候遇到的,看意思是说资源文件不存在。
查了下资料,有人说,禁止 Instant Run 就可以了。
步骤:File—>Settings,打开 Settings 界面,搜索到 Instant Run,去掉第一项的勾选,即去掉“Enable Instant Run to hot swap code/resources on deploy (default enabled)”。
然后查到资料说是 AS2.2 编译打包有所不同,会自动剔除无用代码和资源。那么,原因就明确了。
在 app 的 build.gradle 文件中设置 shrinkResources false 就好了,或者直接注释掉。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13 buildTypes {
release {
minifyEnabled false //混淆打包
//shrinkResources true // 是否去除无效的资源文件,混淆打包的时候已经包含此设置
signingConfig signingConfigs.release //签名
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
//shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
3、can’t use subversion command line client: svn.
今天把本地的一个 SVN 导入到 Android Studio 中,于是就报这个错误。查找了一些答案,发现是因为安装 SVN 的时候没有安装命令行工具,默认是没有选中的。
解决办法是重新安装一下 svn,勾选“command line client tools”(这个默认是不勾选的)。
安装成功以后,重启 Android Studio 就行。
4、Suggestion: use tools:overrideLibrary=”android.support.v7.appcompat” to force usage
编译的时候发生此错误。
详细信息如下:
1
2 Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 9 declared in library [com.android.support:appcompat-v7:25.0.1] C:\Users\ShengDecheng\.android\build-cache\c67cfe2140991d5ba7bb971e8234e85efb62ed43\output\AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v7.appcompat" to force usage
这是为什么呢?其实错误日志已经告诉我们答案了。
谷歌已经放弃了 Android 2.2 以下的版本系统,也就是 API=8,Android Studio2.3 更新后不再支持 API8 了,所以才会报这样的错误。
解决办法:
只需要在 app 的 build.gradle 文件中修改如下:
1 minSdkVersion 9