做React Native一段时间后,对于React Native的发布有一些了解,原本的方法都是在本地直接生成APK文件的,具体可以参考《react native 生成APK

因为需要将这个React Native的应用交给其他同事,但其他的同事暂时还未完全掌握到React Native,所以在发布这一块儿,需要使用一个工具帮助打包应用,在网上找了一些资料,目前做的比较好的就是微软公司的App Center

关于App Center(它是一个收费的云应用,在一定的限额内,应该还是免费的):https://azure.microsoft.com/en-us/services/app-center/ 中文(https://azure.microsoft.com/zh-cn/services/app-center/

本文章我只使用App Center的Build功能,只是将应用打包成APK即可,不会使用App Center的完整功能。

1.首先,在github创建一个空的项目ReactNativeAppForAppCenter,生成的地址就是,https://github.com/ChenWes/ReactNativeAppForAppCenter

2.另外,创建一个项目,使用命令创建一个React Native项目

react-native init ReactNativeAppForAppCenter --version 0.56.
cd ReactNativeAppForAppCenter

将项目放至github中

git init
git add .
git commit -m "project init" git remote add origin https://github.com/ChenWes/ReactNativeAppForAppCenter
git push origin master #此处应该需要输入github的用户名及口令,验证成功后可以将代码同步至github上

3.最后,还需要生成一个keystore,关于如何生成keystore,可以参考react native官方文档:https://facebook.github.io/react-native/docs/signed-apk-android


再接下来配置App Center

登陆至App Center中,选择项目中,点击“Add new app”按钮,可以创建一个新的应用

在弹出的“Add new app”窗口中选择“Android”系统和"React Native"平台,输入应用名称,点击"Add new app"按钮,即会创建一个新应用

点击应用左侧的Build选项,并选择github创建我们的代码仓库

选择刚才的github仓库

关联了github代码仓库后的应用,当鼠标移动到其中一个branch上时,会显示一个齿轮的图标,点击后,可以能项目进行配置

默认的设置如下,需要点击Sign builds,然后

在这里,需要选择一个生成的keystore,输入对应的密码,点击右侧的"Save"按钮,配置就生效了,关于如何生成keystore,可以参考react native官方文档:https://facebook.github.io/react-native/docs/signed-apk-android

当保存了配置后,点击选择当前Branch名master,进入以下界面,点击"Build now"按钮即可,接下来需要等待服务器分配机器去build项目

在build的同时也可以看到编译的日志信息,编译完成后,可以看到右上角有一个“Download"按钮,可以直接下载压缩文件,解压后,会得到一个app-release.apk文件

App Center编译React Native平台Android应用的更多相关文章

  1. React Native For Android 架构初探

    版权声明:本文由王少鸣原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/171 来源:腾云阁 https://www.qclo ...

  2. 利用 Create React Native App 快速创建 React Native 应用

    本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...

  3. React Native for Android 学习

    前言 Facebook 在2015.9.15发布了 React Native for Android,把 JavaScript 开发技术扩展到了移动Android平台.基于React的React Na ...

  4. 【React Native开发】React Native For Android环境配置以及第一个实例(1)

    年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...

  5. React native 之android的图标和启动图片

    哎哎呀呀,上篇说到了react native的IOS的图标和启动图片的设置,其实最主要的是尺寸!相应的尺寸设定好了以后就不会报错了! ok~这篇说的是React native的android的图标和启 ...

  6. React Native for android 项目驱动教程

    第一节 搭建开发环境 第二节 显示页面标题 第三节 实现页面布局 # React native是什么? React Native,是颠覆性的移动开发技术.它使用js开发,又是原生应用,不同于Hybri ...

  7. react native 之 Android物理返回键

    基本用法 根据文档,安卓back键的处理主要就是一个事件监听: BackAndroid.addEventListener('hardwareBackPress', this.onBackPressed ...

  8. 混合开发的大趋势之一React Native与Android联调

    转载请注明出处:王亟亟的大牛之路 先安利,有空我都会更,看到的好东西都会放进来:https://github.com/ddwhan0123/Useful-Open-Source-Android 公司某 ...

  9. React Native for Android应用名及图标修改

    应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方.今天我们来全面的看一下 应用ID 俗称PackageName,或APP ID.注意,在gradle ...

随机推荐

  1. [Spark经验一]Spark RDD计算使用的函数里尽量不要使用全局变量

    比如RDD里的计算调用了别的组件类里的方法(比如hbase里的put方法),那么序列化时,会将该方法所属的对象的所有变量都序列化的,可能有些根本没有实现序列化导致直接报错.也就是spark的api没有 ...

  2. cssText基本使用及注意事项

    一.cssText之起步 那些年,我们是这样设置样式的: xxx.style.width = "233px"; xxx.style.position = "fixed&q ...

  3. Spark的Shuffle过程介绍

    Spark的Shuffle过程介绍 Shuffle Writer Spark丰富了任务类型,有些任务之间数据流转不需要通过Shuffle,但是有些任务之间还是需要通过Shuffle来传递数据,比如wi ...

  4. 【SPOJ】1182 Sorted bit sequence

    [算法]数位DP [题解]动态规划 写了预处理函数却忘了调用是一种怎样的体验? #include<cstdio> #include<cstring> #include<a ...

  5. 【HDU】6012 Lotus and Horticulture (BC#91 T2)

    [算法]离散化 [题解] 答案一定存在于区间的左右端点.与区间左右端点距离0.5的点上 于是把所有坐标扩大一倍,排序(即离散化). 让某个点的前缀和表示该点的答案. 初始sum=∑c[i] 在l[i] ...

  6. 微信小程序setData子元素

    页面的数据中如果有子元素,如下图nowQuestion中的deleted元素 在小程序的setData中,不能直接用nowQuestion.deleted来设定它的值,而需要再定义一个变量承接 另外, ...

  7. ES6数组去重及ES5数组去重方法

    ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如: let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; ...

  8. bzoj 1406 数论

    首先问题的意思就是在找出n以内的所有x^2%n=1的数,那么我们可以得到(x+1)(x-1)=y*n,那么我们知道n|(x+1)(x-1),我们设n=a*b,那么我们对于任意的a,我们满足n%a==0 ...

  9. bufferd对象详解

    使用buffer类处理二进制数据 在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持.然后在nodejs中需要处理像TCP流或文件流时,必须要处理二进制数据.因此在node ...

  10. 一些达成共识的JavaScript编码风格约定【转】

    如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低.因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要.与其他 ...