« スクリーンセーバーの参考となる古いサンプル | メイン | Androidアプリをlinuxコマンドラインでビルド(CentOS6.9 64bit) »

Android

Androidアプリをlinuxのコマンドラインでビルドする(CentOS7 64bit)

 32ビット版CentOS6.9でダメだったので いろいろ調べてみることに。
OSは
CentOS-7-x86_64-Minimal-1611.iso
で構築した64ビット版のミニマムインストール
CentOS Linux release 7.3.1611 (Core)
ビルド環境は
https://developer.android.com/studio/
で、現時点の Command line tools only の Linux版
sdk-tools-linux-4333796.zip
をダウンロード。ルートではなく
# useradd -g wheel taro
で作成したユーザーで操作。java は
$ sudo yum -y install java-1.8.0-openjdk-devel
$ javac -version
javac 1.8.0_171
$ java -version
openjdk version "1.8.0_171"
アンドロイド コマンドライン ビルド ツールは...▼
ビルド環境を展開する為、unzipをインストール
$ sudo yum -y install unzip
sdk-tools-linux-4333796.zip を展開
unzip sdk-tools-linux-4333796.zip
展開された toolsフォルダを次のように設置
$ sudo mkdir /opt/android-sdk
$ sudo mv tools /opt/android-sdk/.
$ sudo chown -Rf root:wheel /opt/android-sdk
$ sudo chmod -Rf g+xw /opt/android-sdk
環境変数
export ANDROID_HOME=/opt/android-sdk
を実行するか .bashrc などに追記。簡単なサンプルアプリをGitHubから取得する為 gitをインストール
$ sudo yum -y install git
ビルドするソースを取得(Windows7,10 AndroidStudio2.3.3で作成・公開したもの)
$ git clone https://github.com/remixgrjp/DreamServiceMovie.git
プロジェクトのパスに移動し
$ cd ~/DreamServiceMovie
ビルドスクリプトに実行権限を付与して
$ chmod +x gradlew
ビルド開始
$ ./gradlew assembleDebug
この段階では Build-Tools がないと停止する。
[Android SDK Build-Tools 25.0.2, Android SDK Platform 26]
sdkmanager で 指摘の Build-Tools をインストール
$ /opt/android-sdk/tools/bin/sdkmanager "platforms;android-26"
で ライセンスに同意すると
/opt/android-sdk/platforms/android-26
/opt/android-sdk/platforms/licenses
が 作られるので、再びビルド開始
./gradlew assembleDebug
でビルド成功。
/opt/android-sdk/platform-tools
/opt/android-sdk/build-tools/25.0.2
が 自動的にインストールされる。後で分かるのは
$ ldd --version
ldd (GNU libc) 2.17
であることが比較的容易にビルド成功したポイント。ちなみに sdkmanager のバージョンは
$ /opt/android-sdk/tools/bin/sdkmanager --version
26.1.1
その他 参考コマンド
./gradlew tasks
./gradlew tasks --all
./gradlew clean
./gradlew clean cleanBuildCache
./gradlew --stop
./gradlew assembleDebug

トラックバック

このエントリーのトラックバックURL:
http://www.remix.gr.jp/cgi/mt/mt-tb.cgi/7674

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)