问题
我尝试创建自己的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也说一切正常。
1条答案
按热度按时间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