You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native构建VPN应用报错:cannot find symbol资源缺失

解决React Native VPN库编译时找不到abc_ic_star_black_48dp资源的问题

错误原因

第三方库react-native-ip-sec-vpn引用了AndroidX AppCompat库中已被移除的旧资源abc_ic_star_black_48dp,新版本AppCompat已删除该资源,导致编译失败。

解决方案

方案1:替换图标资源(推荐)

直接将代码中引用的旧图标替换为系统自带图标或自定义图标:

  • 打开文件:node_modules/react-native-ip-sec-vpn/android/src/main/java/org/strongswan/android/logic/CharonVpnService.java
  • 定位到374、382、409行,将androidx.appcompat.R.drawable.abc_ic_star_black_48dp替换为:
    • 系统自带图标,比如android.R.drawable.ic_notification_overlay(或其他符合需求的系统图标)
    • 自定义图标:将你的图标文件放到该模块的android/src/main/res/drawable目录,然后替换为R.drawable.your_custom_icon_name

方案2:锁定AppCompat旧版本

如果不想替换图标,可以指定使用仍包含该资源的AppCompat旧版本:

  • 打开该库的安卓模块配置文件:node_modules/react-native-ip-sec-vpn/android/build.gradle
  • 在dependencies块中添加或修改AppCompat依赖:
dependencies {
    implementation 'androidx.appcompat:appcompat:28.0.0'
}
  • 重新执行yarn android编译项目

注意:锁定旧版本可能会和项目中其他依赖产生版本冲突,需谨慎使用。

内容的提问来源于stack exchange,提问作者rurjaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 14:20:38