React Native集成react-native-selectable-text编译失败及配置问题求助
解决react-native-selectable-text构建失败及Kotlin项目包注册问题
一、解决Android构建报错(compileSdkVersion 30+要求)
报错明确提示需将compileSdkVersion设置为30或更高,操作步骤如下:
- 打开项目根目录下的
android/build.gradle文件 - 在
ext代码块中修改compileSdkVersion的值:
buildscript { ext { buildToolsVersion = "34.0.0" minSdkVersion = 21 compileSdkVersion = 30 // 改为30或更高版本,比如33、34 targetSdkVersion = 33 // ...其他原有配置 } // ...其他代码 }
- 同步Gradle配置后重新构建项目
若你的项目在app/build.gradle中单独配置compileSdkVersion,则修改该文件的android块:
android { compileSdkVersion 30 // 改为30或更高版本 // ...其他原有配置 }
二、Kotlin项目中正确注册RNSelectableTextPackage
新版本React Native的Kotlin项目里,MainActivity.kt默认没有getPackages函数,且PackageList(this).packages返回的是不可变列表,正确注册方式如下:
替换你之前的代码为:
override fun getPackages(): List<ReactPackage> { return PackageList(this).packages.toMutableList().apply { add(RNSelectableTextPackage()) } }
注意事项:
- Kotlin中实例化类无需
new关键字,直接调用构造函数RNSelectableTextPackage()即可 - 必须先将不可变列表转为可变列表(
toMutableList()),才能调用add方法添加自定义包
完成以上两步后,重新执行构建命令即可。
内容的提问来源于stack exchange,提问作者MF Kebria
相关产品推荐
相关产品推荐

