【问题标题】:Start kotlin activity *.kt from java activity *.java?从 java 活动 *.java 启动 kotlin 活动 *.kt?
【发布时间】:2016-12-17 02:32:43
【问题描述】:

使缓存无效/重新启动...帮助我!

我在java类中的代码是:

Intent intent = new Intent(view.getActivity(), AddPaymentActivity.class);
view.getActivity().startActivity(intent);

AddPaymentActivity 有 kotlin 扩展 .kt
出现错误 java.lang.NoClassDefFoundError

【问题讨论】:

  • 这是您构建的问题。请发布您的 gradle.build
  • @voddan 所以请您提供答案链接,所以我找不到它。提前致谢!
  • 现在我意识到我正在考虑的答案已经过时了。抱歉误导
  • 您的构建对我来说看起来不错,但是当 Gradle 插件配置错误时通常会出现该异常

标签: android android-intent android-activity kotlin


【解决方案1】:

文件 -> 使缓存无效/重新启动...

【讨论】:

    【解决方案2】:

    就我而言,我忘了添加

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    

    apply plugin: 'kotlin-android'
    ...
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    

    build.gradle

    示例

    项目build.gradle

    ...
    buildscript {
      ext.kotlin_version = '1.1.51'
      dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
        ...
      }
    }
    
    allprojects {
      repositories {
        jcenter()
        google()
      }
    }
    

    应用构建.gradle

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    ...
    
    dependencies {
      ...
      compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    }
    

    【讨论】:

      【解决方案3】:

      Java 和 Kotlin 生成的类之间没有真正的区别。如果您的代码由 Android Studio 静态解析(应该如此),那么它必须运行,除非 Gradle 配置错误。

      【讨论】:

        【解决方案4】:

        您只需像 Java 中的“正常”一样进行操作:

        Intent intent = new Intent(getActivity(), KotlinActivity.class);
        startActivity(intent);
        

        别忘了将 Kotlin 添加到您的项目中(在 gradle 文件中)。否则将无法正常工作。

        【讨论】:

          【解决方案5】:

          对于所有这些答案仍在苦苦挣扎的人,就我而言,我忘记在应用级别的build.gradle 中添加apply plugin: 'kotlin-android'

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-11-19
            • 1970-01-01
            • 2015-03-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多