Android Rn打包

假设我们已经开发和调试好程序了。但是怎么发布呢?

我们知道现在我们运行程序是要把npm启起来的,所以我们是把js代码部署到服务器上吗?抱着这个疑问我找到了一个博客:http://blog.csdn.net/qq229200/article/details/78134227 里面的步骤是这样的:
1:terminal进入到项目根目录下执行React-native start,然后浏览器http://localhost:8081/index.android.bundle?platform=android 检查rn打包服务器是否正常运行起来了。
2: 检查app/main下是否存在assets文件夹,不存在就创建它。然后执行 curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle 将bundle文件下载并存储到assets文件夹内(window操作系统可能运行不了,就在git bash里执行)
3:打包,以下命令看自己需求(别告诉我你看不懂哈)
配置了签名密钥的可以:gradle aR gradle aD gradle iD
4:到这里就结束了,安装(没资源图片的)apk吧,然后就会发现js里调用的图片出不来。

又引发一丝疑问,难道RN开发所用到的图片都应该是网络上的?

1:带着这个疑问重新找资料找到了这个博客:http://blog.csdn.net/non_attack/article/details/56676246 里面的介绍也是要将index.android.bundle编译出来放到assets下,只不过多了个把资源文件也编译到res下的图片文件夹里,执行这行命令就行了

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

具体什么意思直接去文中的博客链接里看好了。android/app/src/main/assets这个路径别搞错了就行

2:到这里就结束了,安装(有图片的)apk吧。

新版本建的RN项目里面没有"index.android.js"和"index.ios.js"文件,就"index.js"文件,这可如何是好?

开发调试的时候都很顺利。打包的时候检查打包服务器发现

http://localhost:8081/index.bundle?platform=android 也有东西啊,是不是执行 curl -k "http://localhost:8081/index.bundle" > android/app/src/main/assets/index.bundle 或者 curl -k "http://localhost:8081/index.bundle" > android/app/src/main/assets/index.android.bundle这两句话也是可以的呢,答案都是否定的,第一句话会报错找不到index.android.bundle,第二句会报错Parse error.(index.android.bundle:1),证明了index.bundle拷贝到assets时我们把他改成index.android.bundle也是不行的。

解决办法:把项目里的index.js重命名成index.android.js,然后app/build.gradle里面的project.ext.react = [entryFile: "index.js"]也要做相应的修改

感谢这两个博主的分享
参考博客:http://blog.csdn.net/qq229200/article/details/78134227
http://blog.csdn.net/non_attack/article/details/56676246

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,625评论 25 709
  • jHipster - 微服务搭建 CC_简书[https://www.jianshu.com/u/be0d56c4...
    quanjj阅读 4,243评论 0 2
  • 由于公司要搬家,今天收拾完东西,着实闲来无事,就去老乡群里面,看看大家都在聊什么话题,果然,大家都在聊风来了,霾走...
    珂珂巫阅读 4,260评论 6 4
  • 01 几个周前坐车去采访,在车上听到蔡依林的《妥协》,我才发现这首歌多符合自己的心情,“爱到妥协 到头来还是无解”...
    北音海屿阅读 4,522评论 3 3
  • 今天意外见到了8年没有见面的一个朋友,为什么叫意外,是因为过来以前我没有联系她,因为工作安排,我怕时间太紧,大家都...
    树子丨ageLOC阅读 1,352评论 2 3