android 是否从java活动 *.java启动Kotlin活动 *.kt?

c90pui9n  于 2022-11-20  发布在  Android
关注(0)|答案(6)|浏览(153)

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

我的java类代码是:

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

AddPaymentActivity具有Kotlin扩展名.kt
出现错误java.lang.NoClassDefFoundError

zsbz8rwp

zsbz8rwp1#

我忘了加上

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"
}
ef1yzkbh

ef1yzkbh2#

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

xdnvmnnf

xdnvmnnf3#

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

vojdkbi0

vojdkbi04#

您只需像Java中的“正常”那样执行此操作:

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

只是不要忘记将Kotlin添加到您的项目拳头中(在gradle文件中)。否则它将无法工作。

vfhzx4xs

vfhzx4xs5#

对于那些在所有这些答案下挣扎的人来说,在我的例子中,我忘记了在应用程序级别的build.gradle中添加apply plugin: 'kotlin-android'

vohkndzv

vohkndzv6#

在java项目中添加Kotlin
1.这应该是您的build.gradle(项目级别)

希望它对你有用,对我有用

相关问题