对于这个问题,我实在不想多说什么,记录一下解决方式。
因为别的原因把studio升了个级,从3.0.1到3.1.4版本,然后运行编译原3.0版本项目的时候就出现这个问题了。
No such property: FOR_RUNTIME for class: org.gradle.api.attributes.Usage
导致问题产生的原因:studio各版本存在差异性,新的studio版本不兼容此依赖的版本。
解决方式:
(1)注释掉代码
以下是注释的代码段:
- project.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
// classpath 'com.novoda:bintray-release:0.5.0'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 添加插件 更好支持GreenDao
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
- 上传Module.gradle
apply plugin: 'com.novoda.bintray-release'
publish {
userOrg = '='//bintray.com用户名
groupId = ''//jcenter上的路径
artifactId = '-'//项目名称
publishVersion = ''//版本号
desc = ''
website = ''
}
(2)将依赖升级到适配版本,可能是最新的。
至于为什么要升级依赖版本,我个人认为因为依赖版本的一些配置文件,在新As版本中不符合新As的编译规则导致无法注入依赖。所以就可能还存在最新版也会出有这个问题的情况,需要下载原开源代码手动注入修改配置文件。