LoginSignup
34
33

More than 5 years have passed since last update.

Windows + Vagrant + Chef-soloでAndroidの開発環境を自動構築してみたよ

Posted at

WindowsでのAndroidはVM Playerでやっていたけど、最近調子が悪くなってきているようだったので、この機会にChefでAndroid環境構築できるようにしてみた。今回はUbuntu 13.04で構築した。

コマンド書かれてるところはコマンドプロンプト上で実行する。

Vagrantの準備

Vagrantのインストール

  • 公式サイトから最新版のVagrantをインストールする
  • 再起動した後にコマンドプロンプトからVagrantが認識されているか確認する
C:\> vagrant -v
Vagrant 1.4.1

VirtualBoxのインストール

公式サイトから最新版のVirtualBoxをインストールする

Vagrantfileの準備

  • 任意のフォルダに\移動してVagrantfileを作成する
    • vagrant init
  • Vagrantfileに必要な設定を書く
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu-13.04"
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-amd64-vagrant-disk1.box"
  config.vm.provider :virtualbox do |vb|
    vb.gui = true
    vb.name = "ubuntu"
    vb.customize ["modifyvm", :id, "--memory", "4096"]
    vb.customize ["modifyvm", :id, "--cpus", 4]
  end
end
  • Vagrantfileのあるディレクトリにいる状態で仮想OSを起動する
    • vagrant up
    • config.vm.box_urlにboxのURLを書いておくと、vagrant upした時にboxをダウンロードしてきてくれる

Chefの準備

Rubyのインストール

  • インストーラーから 入れる
  • Rubyが認識されているかコマンドプロンプトから確認する
C:\> ruby -v
ruby 2.0.0p353 (2013-11-22) [x64-mingw32]

Development Kitのインストール

  • http://rubyinstaller.org/downloads/
    • 自分の環境ではFor use with Ruby 2.0 (x64 – 64bits only)をインストールする
  • インストール先のディレクトリに移動してコマンドを実行する
C:\ruby-develoment-kit> ruby dk.rb init
Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

C:\ruby-develoment-kit> ruby dk.rb install
[INFO] Updating convenience notice gem override for '{rubyのインストール場所}'
[INFO] Installing '{rubyのインストール場所}/lib/ruby/site_ruby/devkit.rb'
  • うまくいかなかった場合はconfig.ymlを書き換えてもう一度ruby dk.rb installを実行
config.yml
---
- {rubyのインストール場所}

Chefのインストール

gemからインストール

  • Chefを入れる
    • gem install chef --no-ri --no-rdoc
  • knife soloを入れる
    • gem install knife-solo --no-ri --no-rdoc
  • win32-processを入れる
    • gem install win32-process --no-ri --no-rdoc
  • windows-prを入れる
    • gem install windows-pr --no-ri --no-rdoc

Chefが認識されているか確認する

C:\> knife -v
Chef: 11.8.2

cwRsyncのインストール

Chefで料理する

Chefで使うレポジトリはあらかじめ作っておいたものを使用する

Gitのインストール

Gitからインストールするのも良いけど、個人的にはGithub for windowsに入ってるGit Shellが使いやすいのでGithub for windowsをインストールする

Git Shellを起動してGitが認識されているか確認する

C:\>git --version
git version 1.8.4.msysgit.0

料理前の準備

Git Shellを起動して以下のコマンドを実行する
あらかじめVagrantfileのあるディレクトリに移動してvagrant upしておくこと

c:\>git clone https://github.com/chuross/chef-android-repository.git
c:\>cd chef-android-repository
c:\>git submodule init
C:\>git submodule update
C:\>knife solo prepare vagrant@127.0.0.1 -p 2222

※Git ShellからだとChefがうまく動かなかったのでGitのインストールとこの前準備の項目だけGit Shellで実行した

chef-android-repositoryがやってくれること

  • Git
  • java
    • Oracle JDK 7u45
  • maven
    • 3.1.1
  • eclipse
    • kepler
    • m2e
    • m2e-android
    • android SDK plugin
    • android NDK plugin
  • eclipseの日本語化
  • Android SDK
  • GUI(日本語化)

料理開始

ここまできたら後はコマンド一個実行したあと放置。known_hostsに追加するかどうか聞かれた場合はyesで進める。

  • cloneしてきたchef-android-repositoryのディレクトリに移動する
  • knife solo prepare -i {.vagrand.dがあるディレクトリ}/insecure_private_key vagrant@127.0.0.1 -p 2222
    • .vagrant.dは多分ここらへんにあるはず C:\Users\インストールしたユーザ\.vagrand.d

終わったら

あとはvagrant haltした後に、vagrant upもしくはVirtual Boxから直接起動して使うだけ

補足

chef-android-repositoryの今後

  • 現状だとユーザの追加に関するレシピを書いてないので、手動で追加する必要があるので自動化する
  • eclipseのプラグインは今後も追加していくかも
  • Android NDKも自動化する

日本語化しない方法

34
33
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
34
33