如何修改node_modules/react-native目录下的.java文件并使其生效?
修改React Native node_modules中Java文件的替代方法
方法一:用patch-package打本地补丁
这是最常用的轻量方案,不用构建整个源码,直接给修改后的文件打补丁并保存到项目中:
- 安装依赖:
npm install patch-package --save-dev或yarn add patch-package --dev - 修改node_modules/react-native里的目标.java文件
- 执行命令生成补丁:
npx patch-package react-native - 项目根目录会生成patches文件夹,把这个文件夹提交到Git,其他开发者安装依赖后会自动应用补丁
方法二:本地链接修改后的React Native源码
如果官方构建教程走不通,可手动本地克隆源码并链接到项目:
- 克隆React Native仓库到本地,切换到和项目依赖一致的版本(比如项目用0.72.0,就checkout对应tag)
- 在克隆的源码里修改目标.java文件
- 到源码目录执行
yarn install和yarn build(如果Android部分需要单独构建,可进入android目录执行./gradlew assembleRelease) - 回到你的项目目录,执行
yarn link react-native(或npm link) - 清理缓存:执行
npx react-native clean,Android端还要清理gradle缓存(删除android/.gradle文件夹) - 重新运行项目
方法三:替换Android端的AAR包
如果只修改了Android的Java文件,可单独编译出AAR包替换:
- 克隆对应版本的React Native源码,修改目标.java文件
- 进入源码的android目录,执行
./gradlew :react-native:assembleRelease,编译完成后会在react-native/build/outputs/aar/目录下生成aar文件 - 替换项目中node_modules/react-native/android/下的同名aar文件
- 清理gradle缓存,重新构建Android项目
内容的提问来源于stack exchange,提问作者Lee Developer
相关产品推荐
相关产品推荐

