如何将OneSignal接入Expo项目并添加所需build.gradle配置?
Expo项目接入OneSignal修改build.gradle的处理方案
Expo默认的托管工作流不会暴露原生配置文件,你可以根据自己的项目情况选择以下任意一种方案处理:
- 优先使用Expo适配的OneSignal官方集成包
该方案不需要你手动修改任何原生配置文件,OneSignal官方已经针对Expo生态做了适配,你只需要安装对应依赖、在app.json中配置OneSignal参数即可完成接入,全程不需要操作gradle相关配置。 - 预生成原生项目手动修改
如果你需要自定义gradle配置,可以先运行npx expo prebuild命令,运行完成后项目根目录会生成android文件夹,你需要的build.gradle文件路径为android/app/build.gradle,将如下代码添加到该文件对应位置即可:buildscript { repositories { gradlePluginPortal() } dependencies { classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.10, 0.99.99]' } } apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'注意:执行prebuild后项目会变为原生混合项目,后续如果执行
npx expo prebuild --clean会重置所有原生配置,导致你手动修改的内容丢失。 - 通过自定义Config Plugin持久化配置
如果你不想切换到原生混合工作流,还可以编写自定义Expo Config Plugin,通过插件代码实现gradle配置的自动注入,每次构建时Expo都会自动将你需要的配置写入对应文件,不会出现配置丢失的问题。
内容的提问来源于stack exchange,提问作者rnn
相关产品推荐
相关产品推荐

