LoginSignup
23
30

More than 5 years have passed since last update.

Androidコマンドラインビルドまとめ

Last updated at Posted at 2015-12-01

はじめに

GITにプッシュしたら自動でビルドしたいよねってことでまずはシェル化しました

環境

OS:
CentOS 7.1
PP:
- jdk1.8.0_45
- AndroidSDK
※下記はx86系のものもいれた
- libstdc++.i686
- libstdc++-devel.i686
- zlib.i686
- zlib-devel.i686

AndroidSDKの準備

パス設定

export ANDROID_HOME=/usr/local/android-sdk

更新

${ANDROID_HOME}/tools/android update sdk --no-ui

※ただしbuild-toolsは最新が入るので指定したい場合は下記のようにフィルターを追加
${ANDROID_HOME}/tools/android update sdk --no-ui --all --filter build-tools-22.0.1

githubからのエクスポート

githubの画面上にある"Download ZIP"のURLをcurlコマンドを利用してダウンロード
curl -s -f -L -u '{アカウント}/token:{アクセストークン}' {ダウンロードURL} -o {出力ファイル名}
※アクセストークンは「 https://github.com/settings/tokens 」で生成

ビルド

AndroidStudioで作成したプロジェクトルートにgradlewが存在するのでこれを利用

デバッグビルド
gradlew assembleDebug
リリースビルド
gradlew assembleRelease
両方
gradlew assemble

署名

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore {キーファイル} -keypass {キーパスワード} -storepass {ストアパスワード} {APK保存先} {キーエイリアス}

zipalign

zipalign -v 4 {署名前のAPKパス} {署名後のAPK保存先}

tips

windowsサーバへのマウント

cat /etc/fstab
//{Windowsパス} /{マウントパス} cifs user={ログインユーザ},password={パスワード},defaults 0 0

ソース内のテキストの置換

replace.sh
# 置換対象のパラメータ
RPARAM[0]='{ファイルパス}|s#{置換前のテキスト}#{置換後のテキスト}#g'
RPARAM[1]='{ファイルパス}|s#{置換前のテキスト}#{置換後のテキスト}#g'
RPARAM[2]='{ファイルパス}|s#{置換前のテキスト}#{置換後のテキスト}#g'

# パラメータを展開
for (( I = 0; I < ${#RPARAM[@]}; ++I ))
do
  # パイプ区切りのパラメータを分解
  file=`echo ${RPARAM[$I]} | cut -d\| -f1`
  regexp=`echo ${RPARAM[$I]} | cut -d\| -f2`
  # sedで置換
  sed -i -e ${regexp} ${_PJT_DIR}/${file}
done

まとめ

上記を順番してシェルに落とし込んでます
1.★GITHUBからのエクスポート
2.ZIP解凍
 (ソース置換)
3.★コンパイル
4.APKを共有サーバにコピー
5.APK以外の一時ファイル削除

23
30
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
23
30