LoginSignup
2
2

More than 5 years have passed since last update.

JenkinsでCocos2d-xのAndroidアプリをビルドしてみる

Last updated at Posted at 2014-12-24

概要

Jenkinsを使って、AndroidアプリのビルドからHockeyAppへのアップロードを自動化する。
ジョブはスレーブのMacに実行させる。
Gitのリポジトリを監視し、変更があればビルドして、HockeyAppへアップロードする。
今回は Cocos2d-x の Android アプリをビルドする。

環境

  • master
    • CentOS 6.6 (Final)
    • Jenkins 1.580.1
  • slave
    • OS X Yosemite 10.10.1
    • Androidアプリをビルドできる環境

前提

ジョブを作成する

ビルド手順以外は、iOSアプリのビルドと同じなので [ビルド手順の追加] から。

ビルド手順を追加する

環境のクリア

git fetch -p --all
git clean -f -d

rm -rf "${WORKSPACE}/bin/"
rm -rf "${WORKSPACE}/cocos2d/cocos/platform/android/java/bin/"
rm -rf "${WORKSPACE}/cocos2d/cocos/platform/android/java/gen/"
rm -rf "${WORKSPACE}/cocos2d/cocos/platform/android/java/libs/"
rm -rf "${WORKSPACE}/cocos2d/cocos/platform/android/java/local.properties"
rm -rf "${WORKSPACE}/cocos2d/cocos/platform/android/java/res/"
rm -rf "${WORKSPACE}/proj.android/assets/"
rm -rf "${WORKSPACE}/proj.android/bin/"
rm -rf "${WORKSPACE}/proj.android/gen/"
rm -rf "${WORKSPACE}/proj.android/libs/armeabi-v7a/"
rm -rf "${WORKSPACE}/proj.android/local.properties"
rm -rf "${WORKSPACE}/proj.android/obj/"

ビルドナンバーの変更

sed \
    -i \
    -e "s/android:versionCode=\"1\"/android:versionCode=\"$BUILD_NUMBER\"/g" \
    "${WORKSPACE}/proj.android/AndroidManifest.xml"

ビルド

# Add environment variable COCOS_CONSOLE_ROOT for cocos2d-x
export COCOS_CONSOLE_ROOT=/Applications/Cocos2d-x/v3.3-rc0/tools/cocos2d-console/bin
export PATH=$COCOS_CONSOLE_ROOT:$PATH

# Add environment variable NDK_ROOT for cocos2d-x
export NDK_ROOT=/Applications/Android-NDK
export PATH=$NDK_ROOT:$PATH

# Add environment variable ANDROID_SDK_ROOT for cocos2d-x
export ANDROID_SDK_ROOT=/Applications/Android-SDK
export PATH=$ANDROID_SDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH

# Add environment variable ANT_ROOT for cocos2d-x
export ANT_ROOT=/usr/local/bin
export PATH=$ANT_ROOT:$PATH

cocos compile -p android -m release

シンボルファイルの作成

./Scripts/pack_symbols_android.sh release

HockeyAppにアップロード

curl \
    -F "status=2" \
    -F "notify=0" \
    -F "notes=Some new features and fixed bugs." \
    -F "notes_type=0" \
    -F "ipa=@bin/release/android/置き換える.apk" \
    -F "dsym=@bin/release/android/symbols.zip" \
    -H "X-HockeyAppToken: 置き換える" \
    https://rink.hockeyapp.net/api/2/apps/置き換える/app_versions/upload

参考

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2