cocos2dx 用命令行进行编译的指令
cocos compile -p android -m release -s F:\cocosproj\antest --ap android-20
上面那条就是我常用的指令,这指令修改一下就成了你的指令了。
我本来是想用android-studio出个包的,但是这个编译指令只是编译eslicps的工程,不过没关系,编译出so文件后就可以手动搬到android-studio那里去出包了。
下面是 cocos compile 详解 (以下内容转自 : http://blog.csdn.net/wanglang3081/article/details/39692459)
cocos compile
Overview
Build an existed project.
Usage
usage: cocos compile [-h] [-s SRC_DIR] [-q] [-p PLATFORM] [-m MODE] [-j JOBS]
[--ap ANDROID_PLATFORM] [--ndk-mode NDK_MODE]
[--source-map] [--sign-identity SIGN_ID] [--no-res]
[--compile-script {0,1}] [--lua-encrypt]
[--lua-encrypt-key LUA_ENCRYPT_KEY]
[--lua-encrypt-sign LUA_ENCRYPT_SIGN]
Available Arguments
Common Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| -h, --help | - | - | Show the help message and exit | no |
| -s, --src | project path | ./projects/MyLuaGame |
Specify the project path. Default value is current directory. | no |
| -p, --platform | the target platform | android |
Specify the target platform. | yes |
| -m, --mode | the compiling mode | release |
Set the compile mode, should be debug or release. Default is debug. |
no |
| -j, --jobs | number of jobs at once | 4 |
Use N jobs at once. It's only take effect with target android & linux. |
no |
| -o, --output-dir | absolute/relative path | ./release/android |
Specify the output directory. | no |
Android Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| --ap | folder name in ANDROID_SDK_ROOT/platforms |
android-16 |
Specify the API-Level of android sdk. Console will auto select it if not specified. | no |
| --ndk-mode | the compiling mode of ndk-build | release |
Set the compile mode of ndk-build, should be one of {debug, release, none}, native code will not be compiled when the value is none. Default is same value with -m |
no |
Web Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| --source-map | - | - | Enable source-map | no |
| --advanced | - | - | Set the compilationLevel value as advanced for js compiling. |
no |
iOS/Mac Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| -t, --target | Target Name in XCode project | MyGame iOS |
Specify the target name to compile. | no |
iOS Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| --sign-identity | the code sign identity | "iPhone Distribution:xxxxxxxx" |
The code sign identity for iOS. | It's required when the value of "-m, -mode" is release. |
lua/js project Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| --compile-script | {0,1} | 1 |
Disable/Enable the compiling of lua/js script files. If not specified, the value is 1 when -m, --mode is release. Otherwise, the value is 0 |
no |
lua project Arguments
| arg | available value | sample | description | necessary |
|---|---|---|---|---|
| --lua-encrypt | - | - | Enable the encrypting of lua scripts. It's only take effect when --compile-script value is 1 |
no |
| --lua-encrypt-key | any string | MyLuaKey |
Specify the encrypt key for the encrypting of lua scripts. It's only take effect when --lua-encrypt is enabled. Default value is 2dxLua. |
no |
| --lua-encrypt-sign | any string | MyLuaSign |
Specify the encrypt sign for the encrypting of lua scripts. It's only take effect when --lua-encrypt is enabled. Default value is XXTEA. |
no |
Attentions
- You can see the valid target platforms without specify
-p, --platformfirst. The available platforms will be shown like this: --compile-scriptwill not take effect when target islinuxorweb-
If
--lua-encryptis enabled, you should modify the C++ codeframeworks/runtime-src/Classes/AppDelegate.cpplike this:bool AppDelegate::applicationDidFinishLaunching() { ... auto engine = LuaEngine::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); // add these two lines // "MyLuaKey" is the string specified by "--lua-encrypt-key" // "MyLuaSign" is the string specified by "--lua-encrypt-sign" LuaStack* stack = engine->getLuaStack(); stack->setXXTEAKeyAndSign("MyLuaKey", strlen("MyLuaKey"), "MyLuaSign", strlen("MyLuaSign")); ... }
Samples
cocos compile -h. Show the help message.cocos compile -s ./projects/MyLuaGame -p android --ndk-mode release --compile-script 1 --lua-encrypt
BuildMyLuaGamefor android with ndk-build is release. And compile lua script files with encrypting.cocos compile -s ./projects/MyLuaGame -p ios -m release --sign-identity "iPhone Distribution:xxxxxxxx"
BuildMyLuaGamefor ios with release mode. Use the code sign identity"iPhone Distribution:xxxxxxxx".

浙公网安备 33010602011771号