kotlin协程库报错“Program type already present”解决

最近在学习kotlin,学习到协程库这一块了,针对Android的话就是coroutines-android库。本来学习就不容易了,再加上kotlin现在还处于快速变化期,那个酸爽简直了,废话不多说,进入正题。

kotlinx.coroutines的github地址

协程库中关于Android的文档说明

为了在Android中kotlin协程库的一些特性,我们就需要引入coroutines-android库,代码如下:
ps: 这里我使用的kotlin-gradle-plugin插件和kotlinx-coroutines-android的版本都是最新的,分别是1.2.61和0.25.0.
1、build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    ext.kotlin_version = '1.2.61'    ext.coroutines_version = '0.25.0'    repositories {        mavenCentral()        jcenter()        google()        maven { url 'https://maven.google.com' }    }    dependencies {        classpath 'com.android.tools.build:gradle:3.1.4'        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        mavenCentral()        jcenter()        google()    }}task clean(type: Delete) {    delete rootProject.buildDir}

2、app/build.gradle:

apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android {    compileSdkVersion 27    defaultConfig {        applicationId "com.example.tinytongtong.kotlincoroutineapplication"        minSdkVersion 15        targetSdkVersion 27        versionCode 1        versionName "1.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    // Configure only for each module that uses Java 8    // language features (either in its source code or    // through dependencies).    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_8        targetCompatibility JavaVersion.VERSION_1_8    }}dependencies {    implementation fileTree(dir: 'libs', include: ['*.jar'])    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"    implementation 'com.android.support:appcompat-v7:27.1.1'    implementation 'com.android.support.constraint:constraint-layout:1.1.2'    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"    //okhttp    api 'com.squareup.okhttp3:okhttp:3.11.0'    api 'com.squareup.okhttp3:logging-interceptor:3.4.1'}kotlin {    experimental {        coroutines "enable"    }}

2、配置好了之后,先sync再run,然后的Build窗口就会出现下面这个页面:

kotlin协程库报错“Program type already present”解决_第1张图片

问题解决:

最简单粗暴的方式就是回退版本,如下所示:

ext.kotlin_version = '1.2.61'ext.coroutines_version = '0.25.0'

接下来还是sync --> run,代码就可以跑起来了。

更多相关文章

  1. 关于Android 2.2与2.3 adb.exe版本更新问题(在安装android——SDK
  2. Android Studio NDK开发在C代码中将Log输出到logcat上面
  3. Android系统各个版本 最新市场份额变换
  4. 22个值得收藏的android开源代码-UI篇
  5. [Android]混淆代码后生成带签名的apk
  6. 把android sdk 1.5源代码加入SDK
  7. Android代码内存优化建议-Android资源篇
  8. 在Ubuntu16.04上下载并编译Android内核源代码
  9. 18、不同平台版本

随机推荐

  1. APP完全退出
  2. Android(安卓)ConstraintLayout 两控件部
  3. android 9.0 Intent卸载应用无反应问题
  4. Android(安卓)Monitor使用介绍
  5. android bluetooth开发基础-9管理连接
  6. Android(安卓)使用Gson解析json用法
  7. Android布局之线性布局——LinearLayout
  8. android 处理txt文件类FileUtils,利用java
  9. [转]activity的启动方式(launch mode)
  10. 写在20111011:checkbox的onClick事件