ReactNative离线打包

今天有人问我能不能给我看一下用RN写的Demo啊,我说没问题,于是我就通过QQ的面对面传送文件,将我手机上的APK传导了对方手机上,但是对方安装apk之后发现根本打不开,于是问题就来了,为什么在我手机上可以运行的apk在别人手机上就运行不了呢。

原因就在于,我们开发的时候是在调试的状态,每一次安装的时候首先都要摇晃手机,设置和自己电脑相同的ip,还要配置8081端口,这个设置其实就是在使用自己本地的npm服务编译自己的js,从而展现出来的效果。但是当你把apk发给别人以后,别人怎么可能访问你本地的npm呢,所以一定会出问题的。

下面言归正传,如何解决问题呢,我们开始:

首先我的前端开发工具是WebStrom,我们打开WebStrom,将脚本文件pack.sh放倒RN项目的根目录下方。pack.sh是一个脚本文件,内部就是离线打包的命令。以下是pack.sh的内容:

react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.bundle --platform android --assets-dest ./android/app/src/main/res/ --dev false && react-native bundle --entry-file index.ios.js --bundle-output ./ios/bundle/index.ios.jsbundle --platform ios --assets-dest ./ios/bundle --dev false

接下来:我们在WebStrom的命令行中输入运行脚本的命令:chmod 777 pack.sh

./pack.sh

以上两条命令,第一次需要两句都要输入,之后只需要输入第二条命令即可。


接下来打开AndroidStudio,带卡你的工程。

你就会看到在你的assets文件夹下出现了外部的资源文件“index.android.bundle”这个就是你离线打包出来的js资源库。

加下来你需要做到就是重写Application中的getBundleName方法


然后运行,就能看到手机上的效果了,这个apk也可以给其他人安装。至此离线打包已经实现。新手路过,不喜勿喷0.0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值