Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Program type already present: org.intellij.lang.annotations.Flow

I am getting this error whenever I try to run a program in Kotlin. My gradle files are like this: Project Level Gradle

buildscript {
    ext.kotlin_version = '1.2.30'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:3.2.0'
    }
}
allprojects {
    repositories {
        google()
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

And App Level Gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
ext.supportLibraryVersion = '27.1.1'
ext.playServices = '11.6.2'
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.rossa.rossa"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
        mavenCentral()
        google()
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
    implementation "com.android.support:design:$supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$supportLibraryVersion"
    implementation 'com.jakewharton.timber:timber:4.6.1'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.okhttp3:okhttp:3.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0'
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
    implementation 'com.appolica:flubber:1.0.1'
    implementation 'org.greenrobot:eventbus:3.1.1'
    implementation 'com.github.daniel-stoneuk:material-about-library:2.2.3-support26.1.0'
}

Whenever I try to run the program I get this error

Program type already present: org.intellij.lang.annotations.Flow Message{kind=ERROR, text=Program type already present: org.intellij.lang.annotations.Flow, sources=[Unknown source file], tool name=Optional.of(D8)}

like image 382
theanilpaudel Avatar asked Apr 13 '18 07:04

theanilpaudel


2 Answers

Please add following line in your App level build.gradle.

configurations {
    cleanedAnnotations
    compile.exclude group: 'org.jetbrains' , module:'annotations'
}
like image 90
user Avatar answered Nov 12 '22 05:11

user


Excluding the jetbrains annotations module is a workaround; why is it in your project in the first place? Most likely, it got automatically added to your classpath by Android Studio when what you really wanted was Android's own annotations.

So, a better solution is to look for an org.jetbrains:annotations dependency in your build.gradle file[s], like this:

implementation 'org.jetbrains:annotations-java5:15.0'

...and remove it.

like image 5
Sterling Avatar answered Nov 12 '22 03:11

Sterling