Program type already present这个问题,一般是由于项目中多个模块引用了相同的库,但版本号不同引起的冲突
但今天我更新了AndroidStudio和Gradle版本后,本来正常的项目,突然就报了这个错误,显然这个不是由以上正常原因引起的
一来这个项目本来正常的,如果有冲突早就报错了,二来报错的冲突类是一个第三方的毫无名气甚至有点垃圾的类,只是公司项目集成别人的外设,没办法才使用的,肯定没有别的模块会使用这个类,所以可以肯定不是正常原因引发的
由于刚刚修改了Gradle版本,就才想会不会是这个问题,于是尝试去修改项目gradle文件中的gradle插件版本号,果然可以成功编译了 虽然这个也不一定适合其它人的问题,但是记录下来,可以多提供一种解决方案,能帮助到一部分开发者
大家一定要先确认是不是库冲突造成的,不是库冲突的问题再来试这个方案,确实不是库冲突造成的,没有头绪再试这个方案
buildscript {
repositories {
mavenCentral()
jcenter()
maven {
url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
}
maven {
url 'https://jitpack.io'
}
google()
}
dependencies {
//本来gradle编译工具版本号是3.5.0,改成3.2.1后编译成功
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
classpath 'com.jakewharton:butterknife-gradle-plugin:10.1.0'
}
}