CUIのみでAndroidの開発環境を作る

何の役に立つのか疑問ですが、一貫した情報が無くハマりポイントが多かったので書いときます。
環境はさくらのVPS上に作りました。正真正銘のCUIです。
http://vps.sakura.ad.jp/
最小構成でインストールしたCentOSに、カーネルは2.6.18-194.8.1.el5 x86_64です。古い・・・

Javaの環境

まずはJavaの実行環境が必要です。openjdkを使えば良いと思います。
yumに「java-1.6.0-openjdk.x86_64」があったのでインストールしました。

Android SDK

Linux用のAndroid SDKをダウンロードしてきます。
http://developer.android.com/sdk/index.html
適当なディレクトリに展開。
ここでダウンロードしたAndroid SDKはtoolsだけで、platformsやadd-onsなどの開発に必要なコンポーネントを下記ドキュメントを参考に整えていくのですが、これがGUIが前提になっているので厄介でした。
http://developer.android.com/sdk/adding-components.html
コマンドラインから./tools/androidを起動しても、GUIを立ち上げようとするので当然エラーになります。

# tools/android 

Starting Android SDK and AVD Manager
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
	at org.eclipse.swt.SWT.error(Unknown Source)
	at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
	at org.eclipse.swt.widgets.Display.create(Unknown Source)
	at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.getDefault(Unknown Source)
	at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Shell.<init>(Unknown Source)
	at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.createContents(UpdaterWindowImpl.java:122)
	at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.open(UpdaterWindowImpl.java:102)
	at com.android.sdkuilib.repository.UpdaterWindow.open(UpdaterWindow.java:113)
	at com.android.sdkmanager.Main.showMainWindow(Main.java:307)
	at com.android.sdkmanager.Main.doAction(Main.java:275)
	at com.android.sdkmanager.Main.run(Main.java:98)
	at com.android.sdkmanager.Main.main(Main.java:87)

ググるVNCを使ってインストールするとかの情報は見つかりましたが、CUIだけでも可能です。help見てると下のオプションを見つけたので、こいつをつけて起動します。他にも色々あるので、コマンドにhelp付けて確認してみてください。

  -u --no-ui    Update from command-line, without any UI
./tools/android update sdk -t platform -u
*2011/01/26追記:SDK2.3以上の場合、構造が変わってるので下のコマンドで。
./tools/android update sdk -u

実行するとplatformsの下に色々ダウンロードされていきます。

$ ls platforms/
android-3  android-4  android-7  android-8

これでとりあえずの開発環境は整いました。次はプロジェクトを作成してコンパイルまでしてみます。

プロジェクト作成

詳細は省略・・・

$ ./android create project -t 4 -p /home/matatabi/test -k "com.example.test" -a HelloWorld

ビルド

$ cd /home/matatabi/test
$ ls
AndroidManifest.xml  bin  build.properties  build.xml  default.properties  gen  libs  local.properties  res  src

build.xmlまで作成してくれてるのでantでビルドするだけですが、CentOSのパッケージに罠がありました。「yum install ant」でインストールしたantを使うとこんなエラーが出ます。

BUILD FAILED
java.lang.NoSuchMethodError: org.apache.tools.ant.types.FileSet.iterator()Ljava/util/Iterator;

CentOSのantのバージョンは1.6.5でした。古い・・・ソース確認しましたが、1.6.5のantにはFileSet.iterator()が無いのでエラーになったみたいです。
多分1.7以上が必要です。最新版をダウンロードしてきましょう。
http://ant.apache.org/bindownload.cgi
最新版のantでビルドします。

$ ant debug

成功するとbinの下にapkファイルが作成されます。
以上、CUIだけでAndroidの開発環境が整いました。

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy