React Ntive集成Code push Windows踩坑集锦(Android)

前言:一直传言Windows不适合Coder,集成完Code-push之后,真心明白了。特此记录踩坑集锦。
1、code-push具体的集成过程,自己看官方文档,这里不赘述,比较简单
http://microsoft.github.io/code-push/
2、Application中切记替换Production or Staging的Key
在code-push document中提到了在Application中的getPackages()中list.add(new CodePush(“development-key-here”, Application.this, BuildConfig.DEBUG))。
3、Code-push推荐是在index.js中的componentDidMount()方法中调用Codepush.sync()方法,别忘了加
4、集成好了Code push后的Windows平台上的神坑
当集成好了之后,由于Code-push只能在Production or Staging环境中才能使用,所以需要配置一下签名信息(这个简单,不多说),然后打一个Release包即可。这里出问题了:
(1)、直接使用gradlew assembleRelease之后,会出现找不到node_modules/script/xxxxxx.js的问题,这个问题是Windows平台下的路径引起的。修改方式为:进入到react-native-code-push/android/codepush.gradle文件,找到nodeModulesPath,通过看gradle文件的代码可以知道,要么配置到properties文件中,要么直接修改。这里直接修改:
if (project.hasProperty('nodeModulesPath')) {
nodeModulesPath = project.nodeModulesPath
} else {
nodeModulesPath = "你的项目路径/node_modules";//这里我直接使用了绝对路径,主要是用相对路径会找不到,有点莫名其妙
}

(2)、当你修改了(1)之后,又会在bundleReleaseJsAndAssets这里出现问题。提示为Failed to capture snapshot of input files for task ‘bundleReleaseJsAndAssets’ during up-to-date check.同时还会提示你.gradle/xxxxx/xxxxx/cache.properties.lock文件无法进行MD5处理。这里的主要问题是将.gradle文件夹下的所有文件都排除出去即可。.gradle文件是在build过程中生成的文件,主要用来存放一些临时性的如MD5的Hash值等文件信息,这里排除掉没有问题。
进入到node_modules/react-native/react.gradle文件中,修改如下文件:

/*这里原来是file(../../)但是在Windows平台下会定位错,根据目录层级来看,确实需要向上两层到project的根目录,但是用../就正常,有点莫名其妙 或者直接使用绝对路径 如D:/Project/HotRNTest,直接定位到该project的根路径*/

def reactRoot = elvisFile(config.root) ?: file("../")
//def inputExcludes = config.inputExcludes ?: ["android/**", "ios/**"]
//这里添加.gradle文件夹下的所有文件  均被excludes掉 task通过
def inputExcludes = [".gradle/**","android/**", "ios/**"]

这里code-push的集成比较简单,但是主要在集成了code-push之后,在Windows上打个release包进入坑中,在不断的解决各种问题。关于路径的问题,后续再继续跟进,如果有合理的写法或者答案,会及时更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值