server端配置流程
一、安装和启动code-push-server
$ git clone https://github.com/lisong/code-push-server.git
$ cd code-push-server
$ npm install
二、初始化数据库
cd
到code-push-server
目录
$ ./bin/db init --dbhost localhost --dbuser root --dbpassword #初始化mysql数据库
初始化数据库的时候本命令默认没有密码的,请前往code-push-server
安装目录bin/db
中修改
image.png
密码修改之后在执行数据库初始化命令就可以成功了。
三、修改config.js配置问题
1、打开配置文件
image.png2、修改三个地方,新建一个目录
a、数据库配置信息,账号密码等
b、修改downloadUrl 为本机ip地址
local: {
storageDir: "/Users/tablee/workspaces/storage",
downloadUrl: "http://192.168.0.7:3000/download",
public: '/download'
}
c、到https://www.grc.com/passwords.htm这个地方,生成一个
63 random alpha-numeric characters
,填到tokenSecret
字段里面
jwt: {
tokenSecret: '6ix6a5Vw6knWnpZvlVhXqVGeQx86jGuaJb6YCdiVoyAbkA07IB59jgZKUcoizZI'
},
d、安装配置文件中的目录结构,到
/Users
目录中建立如下文件夹/Users/tablee/workspaces/storage
四、启动code-push-server服务器
cd
到code-push-server
目录,执行一下命令
$ ./bin/www #启动服务 浏览器中打开 http://127.0.0.1:3000
(也可以用本机ip访问 http://192.168.0.7:3000)
到此服务器端到配置就完成了
客户端配置流程
客户端测试代码以 https://github.com/lisong/code-push-demo-app
为例
1、clone客户端代码
$ git clone git@github.com:lisong/code-push-demo-app.git
2、 cd 到
demo
路径,执行npm install
安装node依赖包
3、用
Android Studio
打开code-push-demo-app/android
目录到MainApplication.java
里面修改以下代码
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CodePush(
"YourKey", // code-push app add项目后生成的app 推送key
MainApplication.this,
BuildConfig.DEBUG,
"YourCodePushServerUrl" // config.js中配置的downloadUrl 地址 不需要/download后缀
)
);
}
下面是我的配置
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey),
getApplicationContext(),
BuildConfig.DEBUG,
"http://192.168.0.7:3000/")
);
}
4、打开命令终端,登录
code-push-server
服务器,这里配置为local
,所以登录地址为http://127.0.0.1:3000
或者http://192.168.0.7:3000/
$ code-push http://127.0.0.1:3000 //账号密码为博主提供
account: admin password: 123456
登录成功之后获取token
image.png将文本框中的key复制粘贴到登录终端,点击回车登录成功
5、添加推送app
$ code-push app add CodePushReactNativeDemo-android #android版
添加完成之后可以用code-push app list
命令查看创建好的app,并将测试的Staging key
拷贝到MainApplication.java
中的 “Your Key“ 的位置,推送的时候通过key将app和服务器端关联
6、cd 到
code-push-demo-app
目录,允许react-native start
启动react-native
服务
7、Android Studio编译并将项目运行到手机上,reload更新到最新js包
8、在code-push-demo-app中首页随意做一些修改,这里添加了一段静态问题:“我是热更新内容" ,执行推送命令
测试环境执行:
$ code-push release-react CodePushReactNativeDemo-android android
生产环境执行:
$ code-push release-react CodePushReactNativeDemo-android android -d Production
image.png
image.png image.png9、到app中点击 “Start Sync!“ 执行完安装后,可以看到页面上多了“我是热更新内容".
image.png image.png
image.png
网友评论