如何彻底移除OneSignal库?已删依赖仍有Gradle插件配置
嘿,我来帮你把OneSignal库彻底从项目里清干净!你已经删掉了依赖库文件,接下来咱们把剩下的配置和代码残留都处理掉,一步步来:
彻底移除OneSignal库的完整步骤
1. 清理项目根目录的Gradle插件配置
你提供的代码里还留着OneSignal的Gradle插件声明,先打开项目根目录的build.gradle(注意不是app模块下的那个),删掉这行插件配置:
plugins { id 'com.onesignal.androidsdk.onesignal-gradle-plugin' version '0.8.1' }
另外如果根目录的build.gradle里的dependencies块中,有类似classpath 'com.onesignal:onesignal-gradle-plugin:0.8.1'的classpath声明,也要一起删掉。
2. 检查并清理App模块的Gradle配置
打开app模块下的build.gradle:
- 确认
dependencies块里所有和OneSignal相关的依赖(比如implementation 'com.onesignal:OneSignal:[xxx]')都已经删除(你说已经删了库文件,这一步再仔细核对下) - 如果
defaultConfig里添加过OneSignal的manifest占位符,比如manifestPlaceholders = [onesignal_app_id: "你的ID", onesignal_google_project_number: "你的项目号"],把这部分也删掉
3. 移除AndroidManifest.xml中的OneSignal配置
打开AndroidManifest.xml文件:
- 删除所有OneSignal相关的权限、服务、接收器声明,比如这类内容:
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <service android:name="com.onesignal.GcmIntentService" /> <receiver android:name="com.onesignal.BootUpReceiver" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.QUICKBOOT_POWERON" /> </intent-filter> </receiver> - 同时删掉所有OneSignal相关的meta-data标签,比如
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
4. 删除代码中的OneSignal调用
全局搜索你的项目代码,找到所有调用OneSignal的逻辑(比如OneSignal.initWithContext(this)、OneSignal.setNotificationOpenedHandler(...)这类初始化或回调代码),把这些代码全部删除。
5. 清理Gradle缓存确保无残留
最后做个收尾清理:
- 点击Android Studio右上角的Sync Project with Gradle Files按钮,同步项目配置
- 或者直接执行
File > Invalidate Caches... > Invalidate and Restart,重启Android Studio彻底清理缓存
这样就能把OneSignal从你的项目里彻底移除啦!
内容的提问来源于stack exchange,提问作者Islam Ahmed
相关产品推荐
相关产品推荐

