僕もついに新型Nexus7を手に入れました!
というわけで、早速ごにょごにょしてroot化して、ごにょごにょしてubuntu入れました(※1)。
1stと違って、まだマルチブート環境が整ってないので、Android上でubuntu(12.04)が動くようにしたのですが、ubuntuが動くようになったので、当然Goの開発環境を整えたくなりますよね!
というか、むしろそれが目的だったので(※2)。
基本的には普段使っているようにubuntuを操作すればいい(※3)のですが、Goの開発環境を整えようと思うと、インストーラがARMに対応しているものが無い(※4)ので、いつものようには環境は整えられません。
ただ、GoはARMでコンパイルすることは出来る(※5)ので、Goソースをビルドして開発環境を整えることにしました。
手順はとても簡単で、下記の通りなのですが、せっかくなので今回はその紹介をします。
http://golang.org/doc/install/source
※1 ごにょごにょ部分は調べたら結構すぐ出てくるので、説明は省略。あと、あくまで自己責任で。
※2 新型Nexus7のスペックが凄く良くて、USBホストもありますし、電池持ちも良いそうなので、手軽な開発環境として良かったんですね。最終形態は最後に載せてます。
※3 ただ、なぜかGUI環境がうまく構築できませんでした。まあ、Vimで開発するので必要ないんですが。
※4 どうやら、ARMって言っても広くいっぱい使われているので、検証が出来ないからインストーラは用意されてないようです。
※5 サポートされているのはLinuxのみっぽいです。WinRT(Win8のARM版)で出来ないかもしれません。残念。
■Mercurialをインストールする
GoのソースはリポジトリがMercurialなので、Mercurialがインストールされていない場合は、インストールしましょう。
apt-get install mercurial
確認としてバージョンを見てみます。
hg -v --version
「Mercurial Distributed SCM (version 2.0.2)」のように表示されてればOKです。
※バージョンは最新のものが表示されると思います。この時点ではversion 2.0.2です。
■Goのソースを取得する
リポジトリからソースを取得すると、カレントディレクトリにgoディレクトリが作成されます。
まずは適当なディレクトリに移動しておきましょう。
移動し終わったら、ソースを取得します。
hg clone -u release https://code.google.com/p/go
確認としてgoディレクトリ以下を見てみます。
cd go ls
以下のように出てくればOKです。
※バージョンによって若干違うかもしれません。
AUTHORS LICENSE README api favicon.ico lib robots.txt test CONTRIBUTORS PATENTS VERSION doc include misc src
■Goソースをビルドする
Goソースをビルドしましょう。src以下にビルド用のbashファイルが用意されているので、それを実行するだけです。
ビルドが終わるまであまり時間はかかりませんが、Androidの場合、スリープすると処理が止まってしまうかもしれないので、スリープまでの時間を延ばすか、スリープ機能を止めておいた方が良いかもしれません。
cd go/src ./all.bash
最後に「*** You need to add /(ソース取得したディレクトリ)/go/bin to your $PATH. ***」と表示されていればOKです。
$PATHを「/(ソース取得したディレクトリ)/go/bin」、$GOROOTを「/(ソース取得したディレクトリ)/go」に設定して変更を反映してください。
※ちなみに僕の環境では、「source .profile」で更新したつもりだったのですが、なぜか反映されていなかったので、この後ログインしなおしました。
確認として、Goのバージョンを見てみましょう。
go version
結果:
go version go1.1.2 linux/arm
ちゃんとARM版になっていますね。
もし、今後バージョンアップした場合は、次のようにしてビルドしなおせばよいそうです。
cd go/src hg pull hg update release ./all.bash
これでGo開発がAndroid端末で出来るようになりました!
ゆっくり座って開発できる環境なら、Nexus7はUSBホスト機能があるので、下のようにキーボードをつなげての開発ができます。HHKBにはついているので必要ないですが、USBハブも挟めるので、マウスとかUSBメモリとかつなぎ放題ですよ。
軽くて持ち運びにも困らないですし、色々なところでGo開発が楽しめますね!
これが最終形態だ! |
0 件のコメント:
コメントを投稿