android 无法在React Native中导入/添加原生Kotlin模块

jxct1oxe  于 2023-11-15  发布在  Android
关注(0)|答案(1)|浏览(143)

问题

我尝试创建自己的native模块,但React Native无法加载它。当尝试使用npx react-native start启动应用时,我总是得到这个错误:
/home/somedude/Development/my-app/android/app/src/main/java/com/coolapp/MainApplication.java:28:error:cannot find symbol packages.add(new GLBPackage()); ^ symbol:class GLBPackage
我做了什么
我按照documentation创建了这个模块。这来自我的 * MainApplication.java *:

@Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      packages.add(new ReactViroPackage(ReactViroPackage.ViroPlatform.valueOf("AR")));
      packages.add(new GLBPackage());

      return packages;
    }

字符串
我还创建了一个 GLBPackage.kt

class GLBPackage : ReactPackage {

    override fun createViewManagers(
        reactContext: ReactApplicationContext
    ): MutableList<ViewManager<View, ReactShadowNode<*>>> = mutableListOf()

    override fun createNativeModules(
        reactContext: ReactApplicationContext
    ): MutableList<NativeModule> = listOf(GLBModule(reactContext)).toMutableList()
}


和一个 * GLB模块.kt*:

class GLBModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
    override fun getName(): String {
        return "GLBModule"
    }

    @ReactMethod
    fun loadModel(path: String) {
        Log.d("GLBModule", "Loading $path")
    }
}


为什么我会得到这个错误?Android Studio也说一切正常。

z18hc3ub

z18hc3ub1#

我在尝试使用Kotlin加载ReactNative文档中提供的CalendarModule时也遇到了类似的错误。
对我有效的方法:我将kotlin-android插件添加到应用级build.gradle文件中,如下所示:
第一个月
并且,在implementation部分下的androidx.core和Kotlin实现是这样的:
implementation 'androidx.core:core-ktx:$'implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
类似地,我还在项目级build.gradle文件的dependencies部分中添加了以下代码,如下所示:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
来源:React Native Project with Kotlin and Swift

相关问题