React Native无法导入/添加原生Kotlin模块问题排查
问题原因及解决办法
出现cannot find symbol: class GLBPackage错误,核心是Java代码无法识别Kotlin编写的GLBPackage类,以下是针对性解决步骤:
1. 添加正确的导入语句
在MainApplication.java顶部,根据GLBPackage.kt的实际包名添加导入:
// 假设GLBPackage.kt的包名是com.coolapp import com.coolapp.GLBPackage;
2. 确认包名完全一致
打开GLBPackage.kt,检查顶部的package声明,必须和MainApplication.java的包名完全匹配:
比如MainApplication的包声明是:
package com.coolapp;
那么GLBPackage.kt的包声明也必须是:
package com.coolapp
3. 确保Android项目启用Kotlin支持
检查android/app/build.gradle配置:
- 顶部添加Kotlin插件:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' // 新增这行
- 在dependencies中添加Kotlin标准库依赖:
dependencies { // ... 其他已有依赖 implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }
同时确保项目根目录build.gradle中定义了Kotlin版本:
buildscript { ext { kotlin_version = "1.8.10" // 可根据React Native版本调整适配的Kotlin版本 // ... 其他变量 } // ... 其他配置 }
4. 清理缓存并重新构建
命令行执行以下步骤,彻底清理旧编译产物并重新构建:
cd android ./gradlew clean cd .. npx react-native run-android
注意:仅启动Metro(npx react-native start)不会重新编译原生Android代码,必须执行run-android触发原生代码编译。
内容的提问来源于stack exchange,提问作者Gh05d
相关产品推荐
相关产品推荐

