由于React-Native里的代码有更改,所以需要重新打包。在开发的时候,npm start 启动了服务,确定了内容已经更改。于是就直接打包APK,然后发现React-Native代码并没有更改。
突然想起了是因为在开发时启动的服务会去监听模拟器的端口,如果Android端对React-Native服务端有请求,直接由服务端发送一个热更新包,所以是最新的更改的React-Native代码包(也是一个临时包)。但是在打APK时,没有React-Native服务端。它只会将Android项目中src/main/assets/下index.android.bundle和index.android.bundle.meta的react-native 包集成到Android项目中,而这个两个包并没有被更新,所以出现了上述问题。
于是我们只需要手动让这两个包更新下:
在React-Native项目根目录(不是Android根目录)执行:(注意看根目录是 index.android.js 还是index.js)
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
后面去看下有没有自动更新这两个包的方法和去看下其加载流程。