【问题标题】:cant launch coroutine builder无法启动协程生成器
【发布时间】:2019-06-25 05:20:54
【问题描述】:

我刚刚创建了一个新项目并添加了一个简单的空协程来检查一切是否正常。

class MainActivity : AppCompatActivity(),CoroutineScope {
    lateinit var job: Job
    override val coroutineContext: CoroutineContext
        get() = Dispatchers.Main + job

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        job=Job()
        launch {  }
    }
}

我遇到了这个崩溃

Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, android.support.v4.view.OnApplyWindowInsetsListener) (ViewCompat.java:2203)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at android.view.ViewGroup android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:140)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void com.seed.kotlintest.MainActivity.onCreate(android.os.Bundle) (MainActivity.kt:16)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7183)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1220)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2910)
2019-01-31 21:06:54.720 11930-11930/com.seed.kotlintest I/zygote64:     at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$Ac

我的 build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.seed.kotlintest"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    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-core:1.1.0'
}

你们也可以尝试。只需新建一个空项目并添加空协程

【问题讨论】:

  • 是堆栈跟踪还是还有一些日志?
  • 你检查过这个帖子stackoverflow.com/questions/39601370/… 吗?
  • Sergey stacktrace 只是重复了几次。并且该线程解决了其他一些问题。如果您只是快速创建一个新应用程序并添加一个空协程,您将能够在这里帮助我

标签: android kotlin kotlin-coroutines coroutinescope


【解决方案1】:

要使用Dispatchers.Main,我们需要将kotlinx-coroutines-android 添加到build.gradle 文件中:

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.0'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-15
    • 2020-09-15
    • 1970-01-01
    • 2017-09-02
    • 2015-12-11
    • 2019-08-29
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多