Appearance
Cocos 游戏加载底座 — 快速演示
用现成底座 APK + 测试游戏包,验证「下载 zip → 解压缓存 → 跑 Cocos Creator 2.4 游戏」整条链路。
流程:安装底座 APK → 用 CDN 上的游戏 zip 启动(或本机 HTTP)→ adb / Intent 拉起。
演示资源(CDN)
| 资源 | 地址 |
|---|---|
| 底座 APK | CocosStroe-release.apk |
| 示例游戏 eatme | eatme.zip |
| 示例游戏 tyttyt | tyttyt.zip |
底座包名:com.qcode.cocosstroe
启动 Action:com.qcode.cocosstroe.action.LOAD_GAME
Loader Activity:org.cocos2dx.gameloader.GameLoaderActivity
宿主工程接入 AAR 见同目录 Maven 集成。
0. 准备环境
| 环境 | 说明 |
|---|---|
| Android 手机 / TV 盒子 | 建议 Android 5.0+;需能访问上述 CDN |
| adb | 手机开 USB 调试,或无线 adb |
1. 安装底座 APK
bash
# 下载后安装(也可浏览器下载再 adb)
adb install -r CocosStroe-release.apk成功后桌面通常没有图标(故意不带桌面入口),只能用 Intent / adb 启动。
确认已安装:
bash
adb shell pm path com.qcode.cocosstroe2. 启动演示(推荐:CDN + eatme)
设备能访问 CDN 时,不必再在电脑起 HTTP:
bash
adb shell am force-stop com.qcode.cocosstroe
adb shell am start -a com.qcode.cocosstroe.action.LOAD_GAME \
-n com.qcode.cocosstroe/org.cocos2dx.gameloader.GameLoaderActivity \
--es zip_url "http://cdn.release.qcast.cn/JsViewTestCase/cocos2d/测试用游戏包/eatme.zip" \
--es game_id "eatme"预期:
- 首次:下载 / 解压进度 → 进入横屏游戏
- 再次同一
game_id:有缓存则直接进游戏
换另一个游戏(tyttyt):
bash
adb shell am start -a com.qcode.cocosstroe.action.LOAD_GAME \
-n com.qcode.cocosstroe/org.cocos2dx.gameloader.GameLoaderActivity \
--es zip_url "http://cdn.release.qcast.cn/JsViewTestCase/cocos2d/测试用游戏包/tyttyt.zip" \
--es game_id "tyttyt"Intent 参数
| Extra | 必填 | 说明 |
|---|---|---|
zip_url | 是 | 游戏 zip 的 HTTP(S) 地址 |
game_id | 否 | 本地缓存目录名;建议填稳定英文 id。不传则用 zip 文件名 |
缓存路径大致为:
text
/data/data/com.qcode.cocosstroe/files/games/<game_id>/3. 可选:本机 HTTP 提供 zip
无外网 / 要换自己的包时,把 zip 放到本机目录后:
bash
cd /path/to/zips
python3 -m http.server 8000查电脑局域网 IP(Mac:ipconfig getifaddr en0),手机与电脑同一网段,URL 用局域网 IP(不要用 127.0.0.1):
text
http://192.168.x.x:8000/eatme.zip4. 从其它 App 拉起(可选)
java
Intent intent = new Intent("com.qcode.cocosstroe.action.LOAD_GAME");
intent.setPackage("com.qcode.cocosstroe");
intent.putExtra("zip_url",
"http://cdn.release.qcast.cn/JsViewTestCase/cocos2d/测试用游戏包/eatme.zip");
intent.putExtra("game_id", "eatme");
startActivity(intent);5. 常见问题
| 现象 | 排查 |
|---|---|
| 一直下载失败 / 超时 | 设备能否打开 CDN 链接;本机 HTTP 时检查防火墙与局域网 IP |
| 进游戏黑屏 / 立即退 | zip 根目录是否有 main.js;不要用 Web 构建包 |
| 提示空间不足 | 换更大存储,或卸载重装底座 |
| 没有桌面图标 | 正常;请用 adb / Intent |
| 第二次不更新 | 同一 game_id 会命中缓存;可换新 game_id 或卸载重装 |
bash
adb logcat -s GameLoaderActivity CocosGameActivity cocos2d-x6. 一分钟最短路径
- 安装 CocosStroe-release.apk
- 执行第 2 节
am start(eatme CDN) - 看到下载(或秒进)并进入横屏游戏 → 演示成功