Hello, world! in IS01(2)

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

Hello, world! in IS01の続き。。

エミュレータを起動するところまでは出来たので、
実際にHelloWorldなプログラムを作成する過程に入る。
ググってみたところ、
Hello, World | Android Developers
が詳しかったので(developer.android.comだからそりゃそうか。。)、このページを参考に進めていく。

まず、projectを作成する(Projectに必要なファイル一式を作ってくれる)

C:\tools\devel\Android\android-sdk-windows>mkdir src

C:\tools\devel\Android\android-sdk-windows>tools\android create project --packag
e com.example.helloworld --activity HelloWorld --target 3 --path src\HelloWorld
Created project directory: C:\tools\devel\Android\android-sdk-windows\src\HelloW
orld
Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\src\
com\example\helloworld
Added file C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\src\com\exa
mple\helloworld\HelloWorld.java
Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\res
Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\bin
Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\libs

Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\res\
values
Added file C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\res\values\
strings.xml
Created directory C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\res\
layout
Added file C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\res\layout\
main.xml
Added file C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\AndroidMani
fest.xml
Added file C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\build.xml

C:\tools\devel\Android\android-sdk-windows>dir src\HelloWorld
ドライブ C のボリューム ラベルは 1st です
ボリューム シリアル番号は 7C3A-0D71 です

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld のディレクトリ

2010/09/20 02:27 <DIR> .
2010/09/20 02:27 <DIR> ..
2010/09/20 02:27 627 AndroidManifest.xml
2010/09/20 02:27 <DIR> bin
2010/09/20 02:27 697 build.properties
2010/09/20 02:27 3,289 build.xml
2010/09/20 02:27 382 default.properties
2010/09/20 02:27 <DIR> libs
2010/09/20 02:27 439 local.properties
2010/09/20 02:27 <DIR> res
2010/09/20 02:27 <DIR> src
5 個のファイル 5,434 バイト
6 個のディレクトリ 14,005,301,248 バイトの空き領域

build.xml?Antが必要なのか!ってことで、Antインストール
Apache Ant – Welcome
 Apache Ant – Binary Distributions
から、apache-ant-1.8.1-bin.zipをダウンロード。

自分の環境では、C:\tools\devel\Javaに展開しました。

C:\tools\devel\Java\apache-ant-1.8.1>dir
ドライブ C のボリューム ラベルは 1st です
ボリューム シリアル番号は 7C3A-0D71 です

C:\tools\devel\Java\apache-ant-1.8.1 のディレクトリ

2010/09/20 02:34 <DIR> .
2010/09/20 02:34 <DIR> ..
2010/09/20 02:34 <DIR> bin
2010/09/20 02:34 <DIR> docs
2010/09/20 02:34 <DIR> etc
2010/04/30 18:03 7,920 fetch.xml
2010/04/30 18:03 4,566 get-m2.xml
2010/04/30 18:03 128 INSTALL
2010/04/30 18:03 77,892 KEYS
2010/09/20 02:34 <DIR> lib
2010/04/30 18:03 15,561 LICENSE
2010/04/30 18:03 224 NOTICE
2010/04/30 18:03 4,216 README
2010/04/30 18:03 197,028 WHATSNEW
8 個のファイル 307,535 バイト
6 個のディレクトリ 13,960,519,680 バイトの空き領域

Installing Ant
を見ると、以下が必要らしい。
・binディレクトリをPATHに追加
・ANT_HOMEを設定
・JAVA_HOMEを設定(Optionallyって書いてるから要らないかも)

とりあえず今回は一時的に。

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>set PATH=%PATH%;C:\too
ls\devel\Java\apache-ant-1.8.1\bin

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>set ANT_HOME=C:\tools\
devel\Java\apache-ant-1.8.1

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>set JAVA_HOME=C:\tools
\devel\Java\jdk1.6.0_10

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>cd ..\..

C:\tools\devel\Android\android-sdk-windows>ant
Buildfile: build.xml does not exist!
Build failed
C:\tools\devel\Android\android-sdk-windows>ant -version
Apache Ant version 1.8.1 compiled on April 30 2010

Antのインストールは成功。
早速、Hello,worldのビルドを!

C:\tools\devel\Android\android-sdk-windows>cd src\HelloWorld

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>ant
Buildfile: C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\build.xml
[setup] Android SDK Tools Revision 7
[setup] Project Target: JN-DK01
[setup] Vendor: SHARP Corporation
[setup] Platform Version: 1.6
[setup] API level: 4
[setup]
[setup] ------------------
[setup] Resolving library dependencies:
[setup] ------------------
[setup] Ordered libraries:
[setup] ------------------
[setup]
[setup] WARNING: No minSdkVersion value set. Application will install on all
Android versions.
[setup]
[setup] Importing rules file: tools\ant\ant_rules_r3.xml

help:
[echo] Android Ant Build. Available targets:
[echo] help: Displays this help.
[echo] clean: Removes output files created by other targets.
[echo] compile: Compiles project's .java files into .class files.
[echo] debug: Builds the application and signs it with a debug key.
[echo] release: Builds the application. The generated apk file must be

[echo] signed before it is published.
[echo] install: Installs/reinstalls the debug package onto a running
[echo] emulator or device.
[echo] If the application was previously installed, the
[echo] signatures must match.
[echo] uninstall: Uninstalls the application from a running emulator or
[echo] device.

BUILD SUCCESSFUL
Total time: 1 second

パラメータが必要らしい。debugを付けて。


C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>ant debug
Buildfile: C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\build.xml
[setup] Android SDK Tools Revision 7
[setup] Project Target: JN-DK01
[setup] Vendor: SHARP Corporation
[setup] Platform Version: 1.6
[setup] API level: 4
[setup]
[setup] ------------------
[setup] Resolving library dependencies:
[setup] ------------------
[setup] Ordered libraries:
[setup] ------------------
[setup]
[setup] WARNING: No minSdkVersion value set. Application will install on all
Android versions.
[setup]
[setup] Importing rules file: tools\ant\ant_rules_r3.xml

-compile-tested-if-test:

-dirs:
[echo] Creating output directories if needed...
[mkdir] Created dir: C:\tools\devel\Android\android-sdk-windows\src\HelloWor
ld\gen
[mkdir] Created dir: C:\tools\devel\Android\android-sdk-windows\src\HelloWor
ld\bin\classes

-pre-build:

-resource-src:
[echo] Generating R.java / Manifest.java from the resources...

-aidl:
[echo] Compiling aidl files into Java classes...

-pre-compile:

compile:
[javac] C:\tools\devel\Android\android-sdk-windows\tools\ant\ant_rules_r3.xm
l:336: warning: 'includeantruntime' was not set, defaulting to build.sysclasspat
h=last; set to false for repeatable builds
[javac] Compiling 2 source files to C:\tools\devel\Android\android-sdk-windo
ws\src\HelloWorld\bin\classes

-post-compile:

-dex:
[echo] Converting compiled files and external libraries into C:\tools\devel
\Android\android-sdk-windows\src\HelloWorld\bin\classes.dex...

-package-resources:
[echo] Packaging resources
[aapt] Creating full resource package...

-package-debug-sign:
[apkbuilder] Creating HelloWorld-debug-unaligned.apk and signing it with a debug
key...

debug:
[echo] Running zip align on final apk...
[echo] Debug Package: C:\tools\devel\Android\android-sdk-windows\src\HelloW
orld\bin\HelloWorld-debug.apk

BUILD SUCCESSFUL
Total time: 5 seconds

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>dir bin\HelloWorld-deb
ug.apk
ドライブ C のボリューム ラベルは 1st です
ボリューム シリアル番号は 7C3A-0D71 です

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld\bin のディレクトリ

2010/09/20 02:44 4,394 HelloWorld-debug.apk
1 個のファイル 4,394 バイト
0 個のディレクトリ 13,960,114,176 バイトの空き領域

bin\HelloWorld-debug.apk が出来た!!

そういえば、ソースは・・・?


C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>type src\com\example\h
elloworld\HelloWorld.java
package com.example.helloworld;

import android.app.Activity;
import android.os.Bundle;

public class HelloWorld extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

よく分からないけど、まぁ良いか。

これを動かす方法は、
Developing In Other IDEs | Android Developers
を参考に。

まず、エミュレータ起動。

C:\tools\devel\Android\android-sdk-windows\src\HelloWorld>..\..\tools\emulator @
JNDK01 -qemu --cpu cortex-a8

エミュレータ立ち上げたコマンドプロントは応答が返ってこないので、、、
別のコマンドプロンプト立ち上げて、HelloWorld-debug.apkをインストール。
adb install HelloWorld-debug.apk でインストール出来るらしい。(ant install でも出来そうだけど。)

C:\tools\devel\Android\android-sdk-windows\tools>adb install ..\src\HelloWorld\b
in\HelloWorld-debug.apk
4 KB/s (0 bytes in 4394.001s)
pkg: /data/local/tmp/HelloWorld-debug.apk
Success

Success出た!

でも、画面上は、、、
is01_helloworld_001
特に変化は起こらない。けど、メニューを開と・・・
HelloWorldが!
is01_helloworld_002

クリックすると、
is01_helloworld_003
おお!ソースコードどの修正とか何もしてないのに、HelloWorldの文字列が!!

完。

カテゴリー: プログラム, モバイル タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です