アットウィキロゴ

Menu > Android > 開発環境

執筆中

目次



参考にするリンク

公式
Android Developers
http://developer.android.com/index.html
Android Open Source
http://source.android.com/source/index.html
Get Involved Android Open Source
http://source.android.com/source/index.html



構成

私がインストールした構成を掲載しておきます。
筐体
VirtualBox 4.2.0 r80737
OS
Ubuntu 12.04 Server(64 bit)
sdkのダウンロードパス
/data/android/sdk
repoのダウンロードパス
/data/android/ ←ここに直接 repo ファイルを置きました。
srcのダウンロードパス
/data/android/src
プロジェクト作成パス
/data/android/project
プロジェクト名
test


事前準備

Sun Java JDK をインストール

執筆中の 2012/09/30 現在、「sun-java6-jdk」は「"deb http://archive.canonical.com/ lucid partner"」にありません。
Java5の説明にあるパッケージ"deb http://archive.ubuntu.com/ubuntu hardy main multiverse"を拾ってください。
これで sun-java6-jdk がインストールできます。
ちなみに "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse" も書いてありますが、別になくてもインストールはできました。
あと、/etc/apt/sources.list の下の方に「Ubuntu's 'extras' repository」として登録があるので、両方のコメントアウトを外せばいいのかもしれません。

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
sudo apt-get update
sudo apt-get install sun-java6-jdk

適当にインストールに同意して、sun-java6-jdkはOKです。

add-apt-repositoryを使う場合

サイトの手順に則る場合、以下のソフトを事前にインストールしておく必要があります。
sudo aptitude install python-software-properties

Ubuntu環境だと。。。

Ubuntuでは、Javaは"OpenJDK"というのが最初動くようになっています。
これを"Sun Java JDK"に変更してやる必要があります。
sudo update-alternatives --config java
と叩いて、"java-6-sun"となっている行の番号を選びましょう。

ちなみに sudo が必要であることをみて「?」と思うことでしょう。
実はこれ、確認するとただのシンボリックリンクです。
which java
/usr/bin/java
ls -l /usr/bin/java
lrwxrwxrwx 1 root root ~~~ /usr/bin/java -> /etc/alternatives/java
ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root ~~~ /etc/alternatives/java -> /usr/lib/jvm/java-6-sun/jre/bin/java

他に要るもの

ソースをrepoから落とされる際は、精神衛生上、コーヒーなどの落ち着ける飲み物を用意することをオススメします。


Ubuntu 12.04 に環境を作ってみた

Android SDK

http://developer.android.com/sdk/index.html の 「Get the Android SDK」下部にある「Other platforms」で、好みの環境を選びましょう。

2012/09/30現在、Ubuntuで言えば最新は"android-sdk_r20.0.3-linux.tgz"のようです。
mkdir /data/android/sdk
cd /data/android/sdk
wget http://dl.google.com/android/android-sdk_r20.0.3-linux.tgz

落とし終わったら展開します。
tar zxf android-sdk_r20.0.3-linux.tgz
cd android-sdk-linux/

過去全てのバージョンを落とす必要は無いので、sdkのリストを取得して必要なものだけ入れます。
tools/android list sdk

すると以下のような文言のあとに番号と落とせる物のリストが出ます。
 ...
Packages available for installation or update: 76
 1- Android SDK Platform-tools, revision 14
 2- Documentation for Android SDK, API 16, revision 2
 3- SDK Platform Android 4.1, API 16, revision 2
 4- SDK Platform Android 4.0.3, API 15, revision 3
 ...

左の数字が落とせるデータの番号です。
"Android SDK Platform-tools"は必須でしょう。
あとは必要なSDKと参照用ソース、エミュレータを使うなら対応する「~ System Image, ~」等を落とします。
Eclipseを使う場合は、API 8を求められることがあるようなので、使う予定なら落としておきましょう。
tools/android update sdk --no-ui --filter 1,2,3,4

オプション--filterに続けてカンマ区切りで複数指定できます。
オプション--no-uiはコンソールでやりますよ、という宣言です。

プロジェクト作成

インストール済みのSDKとIDを確認しておきます。
tools/android list targets

先ほどのupdate sdkで落とせていれば「id: 1 or "android-15"」というのが見えます。
これがIDとSDK名です。
必要なSDK_IDが分かったらプロジェクトを作成します。
コマンド
android [global options] create project [action options]
オプション 説明
-n --name プロジェクト名
-t --target さっき調べたSDKのID
-p --path プロジェクトを作成するパス(ここにManifestとかできます)
-k --package プロジェクトのルートパッケージ名
-a --activity Luncherから起動されるルートActivity名

私の環境では以下のようになります。
tools/android create project -n test -t 1 -p /data/android/project/test -k orz.bovecrach.test -a Main

サクサク出来上がります。移動して確認してみましょう。
こんな感じに展開されました。
cd /data/android/project/test
find ./ -type f
./build.xml
./local.properties
./src/orz/bovecrach/test/Main.java
./project.properties
./proguard-project.txt
./ant.properties
./AndroidManifest.xml
./res/values/strings.xml
./res/drawable-hdpi/ic_launcher.png
./res/drawable-mdpi/ic_launcher.png
./res/drawable-ldpi/ic_launcher.png
./res/layout/main.xml

ビルド

Antのインストール

http://developer.android.com/sdk/index.html の 「Get the Android SDK」下部にある「System requirements」を見てみましょう。
ここにアプリ開発の要件が載っています。2012/09/30現在では、
Apache Ant 1.8 or later
と書いてありますので、UbuntuでインストールできるAntを確認します。
sudo aptitude show ant

以下のように表示されました。1.8以降ですので問題ないですね。
パッケージ: ant
新規: はい
状態: インストールされていません
バージョン: 1.8.2-4build1

ではインストール。
sudo aptitude install ant

Antでデバッグビルド

参考URL(英語)
http://developer.android.com/tools/publishing/preparing.html

といっても、プロジェクトを作成した時点で build.xml が出来上がってるのでビルドするだけです。
配下に bin/ と gen/ が出来上がってビルドが完了します。
bin/*.apk というのがアプリケーション本体ですね。
cd /data/android/project/test
ant debug

インストールも簡単です。
ant install

普通は1回でやっちゃうので、
ant debug install
と書いてしまいます。

Antでリリースビルド(署名無し)

こちらも簡単です。
cd /data/android/project/test
ant release

Antでリリースビルド(署名付き)

ただ、リリースビルドする時は普通正式な署名を行うものなので、そちらもやりましょう。
参考URL(英語)
http://developer.android.com/tools/publishing/app-signing.html
「Signing in Release Mode」あたりに書いてあります。

まぁ、平たく言うと
java が提供している keytool 使って署名作って当てて。
と書いてあります。
事前準備でSun Javaのインストールを終えていますので、あとは作るだけです。
実質、設定を決めるオプションは2つだけなので迷わないでしょう。
コマンド
keytool -genkey [option]
-keystore 作成するキーストアの名前
-alias 作成するキーストアのエイリアス名
-keyalg 暗号化形式(参考URLだとDSAかRSAの2択)
-keysize 出来上がるキーストアのビット数。2048を推奨してそう。
-validity 有効期限。10000以上であればいいらしい。

さっそく作ってみるとこうなる。(aaaaとかxxxxxxxは本当はちゃんと入れてます)
keytool -genkey -v -keystore release-key.keystore -alias aaaa -keyalg RSA -keysize 2048 -validity 10000
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名を入力してください。
 [Unknown]: xxxxxxx
組織単位名を入力してください。
 [Unknown]: xxxxxxx
組織名を入力してください。
 [Unknown]: xxxxxxx
都市名または地域名を入力してください。
 [Unknown]: xxxxxxx
州名または地方名を入力してください。
 [Unknown]: xxxxxxx
この単位に該当する 2 文字の国番号を入力してください。
 [Unknown]: xx
CN=xxxxxxx, OU=xxxxxxx, O=xxxxxxx, L=xxxxxxx, ST=xxxxxxx, C=xx でよろしいですか?
 [no]: yes

10,000 日間有効な 2,048 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています
    ディレクトリ名: CN=xxxxxxx, OU=xxxxxxx, O=xxxxxxx, L=xxxxxxx, ST=xxxxxxx, C=xx
<aaaa> の鍵パスワードを入力してください。
    (キーストアのパスワードと同じ場合は RETURN を押してください):
[release-key.keystore を格納中]

出来上がったら ant.properties に以下を書き込んでおきます。
書き方はこれまた ant.properties 内に載ってます。至れり尽くせり。英語ですが。
key.store=release-key.keystore
key.alias=aaaa

なお、パスワードも書けますがオススメはしません。自己責任で。

さぁ準備は完了しました。リリースしましょう。
cd /data/android/project/test
ant release

ビルド中に署名のパスワードを求められます。
...
-post-package:

-release-prompt-for-password:
  [input] Please enter keystore password (store:release-key.keystore):
xxxxxxx
  [input] Please enter password for alias 'aaaa':
xxxxxxx
...

bin/ の配下に [プロジェクト名]-release.apk が出来ていればOKです。
find bin/ -type f
...
bin/test-release.apk
...



丸ごとビルドしてみた

注意:アプリ開発にAndroid Sourceは必要ありません。

AndroidのSourceはアプリ開発には必要ありません。
APKを作る場合はAndroid Developersだけで良いです。
ただ、エミュレータ環境は非常にストレスが溜まる開発環境ですので、
自分でVMを作ってみたりするのには良いと思います。
実際、私の開発環境は複数の端末を模したVM環境を作ってテストを行っています。

Android Source

サイトの通りにやっていきます。
Android Open Source
http://source.android.com/source/index.html

Installing the JDK

これは事前準備でSun Javaのインストールを終えていますのでSkip。

Installing required packages (Ubuntu [バージョン名])

全部入れてしまいましょう。
私は Ubuntu 12.04 に入れたので、指示通りのコマンドを丸ごとコピーしました。
GCCなどの環境を既に準備されている方はすぐに終わりますが、最初からの方は少し時間が掛かります。
数分程度、入れておいたコーヒーでも飲みながら待ちましょう。

Configuring USB Access

これはお持ちの端末の名前が登場するような方が入れるものです。
Nexus OneとかNexus 7を持っている方はやるといいです。

Setting up ccache

SSDなどを利用できる方は、指示通り設定するとビルドが高速になります。
私のようなマッタリ系の人種には特に用が無いのでSkip。

Using a separate output directory

出力先を変えても特に良いことは無いので、やっぱりSkip。
ファイルアクセスの早いディスクが欲しい。。。

Setting up a Mac OS X build environment

Macの設定なので飛ばします。
余談ですが、MacってiPhoneアプリもAndroidアプリも作れていいですね。


Downloading the Source Tree

ではrepoを利用してソースを拾いにいきましょう。

Installing Repo

repoを落とす環境について、~/binにパスを通すやり方にはなっていますが、別に必須ではないです。
頻繁にソースを更新しない人は通す必要はないでしょう。

mkdir /data/android/
cd /data/android/
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo
chmod a+x repo

ちなみに「chmod a+x」というのは“全員に実行権限を付与する”という意味です。

Initializing a Repo client

ここで指定したディレクトリにソースが落ちます。
私の場合は /data/android/src ですね。

cd /data/android/
mkdir ./src
cd ./src
../repo init -u https://android.googlesource.com/platform/manifest

この辺から気長に待つことになるでしょう。
入れておいた残りのコーヒーを温めつつ、飲みながらマッタリと待つといいです。

ちなみにブランチ(というかタグ)の指定名については、同サイトの以下URLにあるので確認してみます。
Codenames, Tags, and Build Numbers Android Open Source
http://source.android.com/source/build-numbers.html
左ペインの"Build Numbers"を選ぶだけの話ですが。。。

../repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.1_r4

Getting the files

あとは取得が終わるまで待つだけです。非常に長いので私は寝ることにします。
では、おやすみなさい。
../repo sync



関連リンク

&trackback()
タグ一覧:Android 執筆中 開発環境



最終更新:2013年03月10日 12:02