oops-framework是由作者dgflash编写,基于CocosCreator 3.x而实现的开源框架。最近在使用这款框架,在配置更新时发现找不到能够实战的说明,所以记录下自己的配置过程,可能有些地方不能完全理解作者的设计,但配置出来后,可以使用,贴出来供大家学习交流,有不对的地方,请多指教。
一、Nginx服务器的配置设置:
Windows或者在linux下去配置相关路径,可采用不同的路径和端口;因为客户端配置可指定不同的端口。
server {
listen 80;
location / {
root D:/phpstudy_pro/WWW/;
index index.html index.htm;
autoindex on;
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
expires 0;
}
}
说明://在 Nginx 中添加以下配置,避免客户端缓存旧文件:消除客户端下载缓存或者网页缓存;
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
二、安卓工程的必须的基本设置:
1、在主目录下的AndroidManifest.xml中
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
(一般默认都会有,但是需要确认设置;)
2、模块build.gradle中的版本号:必须小于等于后面的版本,这个是递增式的,
三、Cocos creator的构建发布设置:
1、填写“资源服务器”-服务器地址,并将oops_framework_remote下的整个内容,放在资源服务器下载根目录下,才能正常更新游戏;
2、勾选“是否生成数据” 才能在oops_framework_remote生成更新资源;
四、程序内容配置:
1、assets/resources/config.json中指明服务器的配置和地址:
"httpServer": "http://192.168.110.201/android/",
"packageUrl": "http://192.168.110.201:80/android/",
"remoteManifestUrl": "http://192.168.110.201:80/android/project.manifest",
"remoteVersionUrl": "http://192.168.110.201:80/android/version.manifest",
"bundle": {
"enable": true,
"server": "http://192.168.110.201:80/android/bundles/",
"default": "resources",
"packages": {
"bundle": ""
}
}
2、修改同级目录下的:project.manifest 和 version.mainifest 文件中的地址:
project.manifest
{"packageUrl":"http://192.168.110.201/android/1.0.0.1","version":"1.0.0.1","searchPaths":["oops_framework_remote"],"remoteManifestUrl":"http://192.168.110.201/android/project.manifest","remoteVersionUrl":"http://192.168.110.201/android/version.manifest","assets":{...
version.mainifest
{"packageUrl":"http://192.168.110.201/android/1.0.0.1","version":"1.0.0.1","remoteManifestUrl":"http://192.168.110.201/android/project.manifest","remoteVersionUrl":"http://192.168.110.201/android/version.manifest"}
说明:
1 Nginx的根目录是在服务器配置;地址之后的是相对路径;
2 版本号对应的是构建时oops-plugin-hot-update中的版本号;
3 导出后,会在oops_framework_remote目录下形成android目录,可将这个整个目录放到服务器的nginx根目录下;
4 对应关系如下:
而1.0.0.1.1则是1.0.0.1这个版本的升级版本;
5 另外关于debug模式的开启和关闭:
- 五、更新修改配操作:
1 更新时,只需要将构建下面的版本号升级一个数字,直接构建,然后将最新版本的文件夹和project.maifext 和 version.manifest两个文件同步到服务器的资源更新目录下即可完成热更。
2将oops_framework_remote目录下最新生成的版本资源,
拷贝到资源网站目录下:
验证结果:
更新完成后会自动重启客户端,安心等待即可。
其他知识:
1:使用 curl 下载文件并验证 MD5:
curl http://192.168.110.201/android/1.0.0.1.1/src/chunks/bundle.js -o bundle.js
certutil -hashfile bundle.js MD5
若 MD5 不一致,说明文件传输或服务端文件有问题。
2:测试nginx的配置正确性:
在 PC 浏览器的地址栏中输入以下 URL,并尝试访问:
http://192.168.110.201/android/1.0.0.1/project.manifest
http://127.0.0.1/android/project.manifest
能正确下载说明nginx服务器配置正确;
3:检查nginx根目录下的文件夹权限,需要任何人都可访问;