解决 Unable to load script from assets index.android.bundle

今天手贱把react-native android项目的cache和~/.gradle的cache全删了,再次搭建android的编译环境时,一切编译正常,并且打debug包的时候可以正常运行,无报错。

但是当我打release包的时候, 系统启动日志提示我:unable to load scripts from assets 'index.android.bundle' on real device

一开始我以为是我的打包脚本出问题了,index.android.bundle这个bundle文件不存在,去对应的目录中检查了一遍,结果发现是有的。

于是又去google,发现遇到这个问题的人挺多,但是都是在debug的时候会遇到,经过一番探索,终于发现,原来我为了加快android build的速度,在~/.gradle/gradle.properties这个文件中添加了

org.gradle.configureondemand=true

首先说一下~/.gradle/gradle.properties这个文件的用途,~/.gradle/gradle.properties这个文件主要是用来个人全局配置gradle编译option的,一些与gradle设置相关的参数可以写在这里面,比如:

    org.gradle.daemon=true 就是让你让你编译时使用守护进程。

    org.gradle.parallel=true 使用并行编译

    org.gradle.jvmargs=-Xmx2048m JVM最大允许分配的堆内存,按需分配

    -XX:MaxPermSize=512m JVM最大允许分配的非堆内存,按需分配

org.gradle.configureondemand=true则表示屏蔽一些task,所以当开启这个选项的时候,react-native中的一些task并没有被运行,导致打出来的包会报出:Unable to load script from assets index.android.bundle 这个错误。

如果你也遇到了这个问题,赶紧检查一下你的gradle配置吧!

参考链接: http://jp1017.top/2017/03/08/%E5%8A%A0%E9%80%9F-gradle-%E7%BC%96%E8%AF%91%E4%B9%8B%E5%B1%8F%E8%94%BD%E9%83%A8%E5%88%86-Task/

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,742评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Gradle对于很多开发者来说有一种既熟悉又陌生的感觉,他是离我们那么近,以至于我每天做项目都需要他,但是他又是离...
    阿_希爸阅读 9,615评论 10 199
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,591评论 2 45
  • 大考之前的一学期是压力山大的!不容你调节,不容你调剂,总有一款压力适合你! 当班主任是压力山大的!不容你调节,不容...
    索妮娅宋阅读 320评论 2 0