jenkins构建React Native Android项目
来源:互联网 发布:淘宝扫码付款被骗 编辑:程序博客网 时间:2024/06/08 05:36
使用jenkins来实现自动化构建,可以简化开发测试的流程,原来debug包都不会做混淆,现在用了jenkins会自动的打混淆包,除了环境不一样,其他配置debug和release包都一样,这样就可以避免代码混淆带来的问题,此外,还可以打出各种平台的包,测试包与生产包、应用市场分发包等,推荐大家在自己电脑上或服务器上搭建一个Jenkins。
这里介绍一下我在项目中使用了React Native之后的jenkins配置,默认已经在jenkins上已经搭建好了普通Android的打包环境,如果想打带有React-native的apk,首先在React官方的Generating Signed APK中有bundle命令来生成index.android.bundle
$ 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打包之前首先要执行这个命令,明确了这个区别,就开始动手了。另一篇jenkins的文章可以参考点击打开链接
(1)首先在jenkins服务器上升级buildToolsVersion,compileSdkVersion 到最新,如果下载慢,建议换成淘宝镜像
注意一点,很多同学搭建换成后,执行 react-native init AwesomeProject 会发现卡了半天还是没有成功,这个时候建议你使用 npm config set registry=https://registry.npm.taobao.org 将npm的源换成淘宝镜像
环境安装成功之后,开始配置我们的Jenkins。
(2)通过jenkins Invoke Gradle script执行assembleQa –stacktrace task来打包的, 如下图所示,
我们按住Execute shell的右上角,将它拖动到 Invoke Gradle script的前面,这样就可以先执行Execute shell中的命令
(3)接下来开始写Execute shell中的命令
- 1
- 2
- 3
- 1
- 2
- 3
测试一下,失败,报react-native: command not found
google一下,发现jenkins的shell命令是跑在自己的Shell中的,这意味着什么?需要我们指定绝对路径,好吧,更换一成绝对路径。
- 1
- 1
获取react-native的绝对路径,文件路径也一并换掉,整个命令变成了
- 1
- 2
- 3
1 0
- jenkins构建React Native Android项目
- jenkins构建android studio项目
- Jenkins android项目自动化构建
- React-Native-Android简单环境构建
- react-native构建android hello world踩坑记
- 【React Native开发】React Native移植原生Android项目(4)
- React-native Android 在Jenkins上配置自动打包方案
- 通过creact-react-native-app构建项目遇到的坑
- Jenkins + Git+ Gradle构建Android项目
- Jenkins的安装与Android项目构建
- Jenkins参数化构建android项目
- React Native移植到原生Android项目
- Android之原生项目集成React Native
- React Native 编译Android项目问题整理
- React Native嵌入Android原生项目中
- Android原生项目集成React Native
- Android项目中集成React Native
- React Native移植原生Android项目
- IntelliJ使用指南—— 导入Eclipse的Web项目
- ZooKeeper程序员指南
- 采购订单更改日期的妙用
- QML数据模型
- 【github】【博客】【wiki】【代码托管】
- jenkins构建React Native Android项目
- mysql主从复制维护
- Recyclerview 多种 item 布局的通用 Adapter MultiItemAdapter
- EasyUI--tree的实现
- LeetCode 94. Binary Tree Inorder Traversal java solution
- JAVA软件开发之8例
- HDU 2571 命运 (动态规划)
- JQuery实现可以编辑的表格
- java实现生产者消费者模式