美文网首页cocos2d-xcocos2dx程序员
cocos2d-x : 使用buck构建android指南

cocos2d-x : 使用buck构建android指南

作者: 小城大麦 | 来源:发表于2016-03-31 16:10 被阅读691次

buck是facebook开源一款构建工具,优点就是快,支持linux和mac环境下的各种构建。

  1. 安装buck
    brew update
    brew tap facebook/fb
    brew install buck
  1. 创建一个示例应用:
cocos new -llua -p com.example.demo BuckDemo
  1. 使用aidl命令修改IGameTuningService.aidl为java
    aidl位于AndroidSDK的build-tools/下
cd frameworks/cocos2d-x/cocos/platform/android/java/
aidl -Isrc/com/enhance/gameservice/ src/com/enhance/gameservice/IGameTuningService.aidl
rm -rf src/com/enhance/gameservice/IGameTuningService.aidl
  1. 创建Android的keystore及keystore.properties
cd frameworks/runtime-src/proj.android
keytool -genkey -keystore game.keystore -alias game -keyalg RSA -keysize 2048 -validity 10000
touch game.keystore.properties

keystore.properties内容:

key.alias=game
key.store.password=android
key.alias.password=android
  1. 创建.buckconfig文件
    .buckconfig内容如下
[android]
    target = Google Inc.:Google APIs:19
[project]
    ignore = .svn,tmp,ide,doc,.git

7.创建cocos2d-x库工程的BUCK文件

cd frameworks/cocos2d-x/cocos/platform/android/java/
touch BUCK

BUCK文件内容

prebuilt_jar(
  name = 'android-async-http-1.4.8',
  binary_jar = 'libs/android-async-http-1.4.8.jar',
  visibility = [ 'PUBLIC' ],
)
android_library(
  name = 'libcocos2d',
  srcs = glob(['src/**/*.java']),
  manifest = 'AndroidManifest.xml',
  exported_deps = [ ':android-async-http-1.4.8', ],
  visibility = [ 'PUBLIC' ],
)
  1. 创建项目的buck构建文件
    frameworks/runtime-src/proj.android/BUCK
    内容如下:
android_resource(
  name = 'res',
  manifest = 'AndroidManifest.xml',
  res = 'res',
  assets = 'assets',
  visibility = [ 'PUBLIC' ],
)
prebuilt_native_library(
  name = 'native_libs',
  native_libs = 'libs',
)
android_library(
  name = 'game',
  srcs = glob(['src/**/*.java']),
  exported_deps = ['//frameworks/cocos2d-x/cocos/platform/android/java:libcocos2d'],
  deps = [':res',':native_libs', ],
  visibility = [ 'PUBLIC' ],
)
keystore(
  name = 'game_keystore',
  store = 'game.keystore',
  properties = 'game.keystore.properties',
)
android_binary(
  name = 'app',
  manifest = 'AndroidManifest.xml',
  keystore = ':game_keystore',
  package_type = 'debug',
  deps = [
    ':game',
    ],
)
project_config(
  src_target = ':app',
)

7.构建并安装
首先编译c++部分,不生成apk。

cocos compile -p android --no-apk

利用buck构建apk工程(速度很快)

buck build frameworks/runtime-src/proj.android:app  
adb install -r buck-out/gen/frameworks/runtime-src/proj.android/app.apk

相关文章

网友评论

    本文标题:cocos2d-x : 使用buck构建android指南

    本文链接:https://www.haomeiwen.com/subject/dbzslttx.html