コード

Android Studioを使わないでアプリをビルドするCUI(Docker)環境構築

  • android studioが不要なandroidアプリのビルド環境を作りたい
  • 今の環境を残したままSDKやNDKバージョンが違う環境を作りたい
  • Android Studioを立ち上げると起動が遅いので嫌気がさしている

Dockerコンテナを使ってビルド環境を作ると、そういった課題を解決することができます。

ゴール

最終的にAndroidアプリがビルドできる以下の環境を構築します。

  • ホストOS: Windows 10 64bit
  • Docker for Windows:18.09.2
  • ゲストOS:Ubuntu16 16.04
  • Android SDK:24と28
  • Android NDK:リビジョン16b
  • CMake:3.6.411459
  • gcc/g++:4.9

NDKに関して、2019/5月時点でのNDKの最新の安定版はリビジョン19cですが、今回はリビジョン16bを使います。というのも、リビジョン18からgccが非サポートとなり、代わってclangが正式サポートとなっています。今回はCMakeとgccを使いたいため、リビジョン16bを利用します。

Dockerfile

先に結論を書きます。最終的に作成したDockerfileは以下のようになります。

解説

Open JDKのインストール

JavaをビルドするためにOpen JDKをインストールします。

インストールするライブラリのバージョン指定

sdk-tools、cmake、ndkのバージョンを指定します。この数値を変更すれば別のバージョンのものをインストールできます。

Android SDKのインストール

zipをwgetでダウンロードして解凍します。最後の2行はsdk-toolsを使ってインストールする際に必要となるファイルです。このタイミングで作っておきます。

ビルドツールのインストール

先ほどダウンロードしたsdk-toolsを使って各種ツールをダウンロードします。yes | sdkmanagerとすることでsdkmanagerを使うと求められる同意を承認しています。

build-toolsだけあればビルドできそうな気がしますが、adb等の各種ツールも一緒にダウンロードしています。

ターゲットとするAPIによって$ANDROID_COMPILE_SDKを指定する必要があります。

最後に

今回作成した環境を用いれば、Android Studioで作成したプロジェクトであればbuild.shを叩くとandroidアプリ(apk)が作成できると思います。またCMakeを用いることでc++向けのライブラリをビルドすることもできます。

今回はubuntuをベースに作成しましたが、少々容量が大きくなってしまいました。alpineを使うとより軽量なイメージが作れると思います。時間があれば挑戦してみたいと思います。

テックアカデミー(TechAcademy)

現役エンジニアから学べるオンラインに特化したプログラミングスクール。オンラインプログラミングスクールの受講者数は業界No.1。講師は全員、通過率10%の選考に合格した現役エンジニア。確かなスキルをもとに受講生をマンツーマンサポートします。



DMM WEBCAMP

働きながらITエンジニア転職を目指せる転職補償付きのプログラミングスクール。学習サポートのエキスパートであるライフコーチによる的確な学習サポートと、転職成功率98%の実績を持つエンジニア転職に特化したキャリアアドバイザーの強力な転職活動のバックアップ体制は受講生から高い支持を受けています。



ヒューマンアカデミー

働きながらエンジニア就職を目指してプログラミングスキルを身につけることができるスクール。未経験からの就職成功率は90.6%という高い実績を誇ります。独自の映像教材によりスキマ時間を活用した学習が可能です。オンラインでの学習に加え、全国に29校舎展開された教室で講師に直接質問や、キャリアの相談をすることも可能なスクールです。

-コード
-,

© 2021 ドナブログ Powered by AFFINGER5