在 Linux 上构建项目
- 克隆 https://github.com/cocos-creator/fireball 到本地(需 GitHub 权限)
安装第三方依赖库
安装 Creator,依次执行
gulp update-builtin
gulp update-electron-official
gulp checkout-setting-branch
gulp update-full
编译 Electron 原生模块
# 安装原生开发环境
sudo apt-get install make -y
sudo apt-get install g++ -y
export USE_TAOBAO_MIRROR=1
# 编译
gulp npm-rebuild
重新更新一次
gulp update
(可选)屏蔽 browserify 或 gulp-sourcemaps 的版本过低的 convert-source-map,否则构建时可能会堆栈溢出
mv node_modules/gulp-sourcemaps/node_modules/convert-source-map/ node_modules/gulp-sourcemaps/node_modules/convert-source-map_origin
安装 Headless 依赖环境
安装 Xvfb
安装
npm install xvfb-maybe -g
启动 Xvfb 服务器
export DISPLAY=':99.0'
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
安装其它 Electron 依赖库
# 尝试启动 Electron
xvfb-maybe node_modules/electron/dist/electron --help
# 如果提示 error while loading shared libraries: `xxx.so.x`, 则安装所需的库并重复以上步骤直到 electron 命令执行成功
sudo apt-get install `***` -y
Trouble Shooting
xvfb-run: error: Xvfb failed to start
重新启动 Xvfb 服务器,并且确保 DISPLAY 环境变量已经设置好
Xlib: extension "RANDR" missing on display ":99.0"
无关警告,可以忽略
Error: Package Watcher Error: watch ... ENOSPC
运行
使用和其它平台一样的命令行参数执行构建,其中可执行文件路径需要替换成 xvfb-maybe npm start --
,例如
自动更新 Creator
需 GitHub 权限
gulp update
需要安装的有:
- python (需要 2.7.5 以上的 2.7.x 版本)
- JDK
- Android SDK
- Android NDK
- Ant
配置环境变量:
- NDK_ROOT
- ANDROID_SDK_ROOT
- ANT_ROOT (指向 ant/bin 文件夹)
配置 Creator 的 Perference:
- 打开
~/.CocosCreator/settings.json
- 修改
android-sdk-root
,ant-root
&ndk-root
的值(与环境变量一致)。
- 打开
通过 git clone 命令将 cocos2d-x-lite 仓库 clone 到 cocos-creator/cocos2d-x
文件夹。
使用命令行方式来构建项目,生成 Android 平台工程。示例命令如下:
xvfb-maybe npm start -- --path path/to/project/ --build 'platform=android;template=default'
关于命令行构建项目的更多参数,参考。
- 首先,需要将
cocos-creator/cocos2d-x/tools/cocos2d-console/bin
文件夹添加到系统的 PATH 环境变量中。 然后,在命令行中执行如下命令来编译 Android 工程:
cocos compile -s /path/to/project/build/jsb-default -p android
-
参考网页,执行如下命令来解决:
sudo apt-get install lib32stdc++6 lib32z1