@blog.justoneplanet.info

日々勉強

android開発で既存のプロジェクトをimportする

毎回微妙にはまるのでそろそろ書いておく。

■import

eclipseの.projectディレクトリがある場合は、「File > import > Existing Projects into Workspace」で行う。

jarなどがある場合

ディレクトリ構成などが異なってるとリンクが切れたりするので、「Packeage Explorer > プロジェクトルートで右クリック > Properties > Java Build Path > Libraries」で再設定する。

compiler

以下のようなエラーが出る場合がある。

Android requires compiler compliance level 5.0 or 6.0. Found ‘1.7’ instead. Please use Android Tools > Fix Project Properties.

「環境設定 > Java > Compiler」でCompiler compliance levelを1.6にする。

■R.java

ビルドできる状態ならば勝手に生成されるのだが、極々稀に自動生成が開始されなかったりするので、その場合は再起動したりするといいと思う。

■テストコード

上述の方法でインポートする。但し、ディレクトリ構成が異なっていてテスト対象が見つけられずエラーが出る場合は、「Package Explorer > Propaties > Java Build Path > Projects」でプロジェクトをセットしなおす。

macでandroidの開発環境を構築する

■SDK

androidの開発者サイトからSDKをダウンロードしてくる。展開し以下のコマンドを実行する。

mv /Users/<user>/Downloads/android-sdk-mac_x86 /Users/<user>/

以下のコマンドを実行する。

/Users/<user>/android-sdk-mac_x86/tools/android update sdk

後は大体OKを押せばOK!

■eclipse

「ヘルプ > 新規ソフトウェアのインストール」で「作業対象」欄に以下のURLを入力する。

https://dl-ssl.google.com/android/eclipse/

インストールしeclipseを再起動したら、「eclipse > 環境設定 > android」で「SDKロケーション」に「/Users//android-sdk-mac_x86」と入力する。

後はお好みの設定にするだけ!(windowsでの開発環境構築

androidアプリケーションを配布する

android marketでアプリケーションを配布するには署名などの作業が必要となる。

■自己署名の証明書作成

以下のようにkeytoolを使用する。

C:\Program Files\Java\jdk[version]\bin>keytool -genkey -keystore hoge.keystore -
alias hoge -validity 1000

以下のように任意のパスワードの入力を求められる。

キーストアのパスワードを入力してください:
新規パスワードを再入力してください:

正しく自分の名前を入力しよう。

姓名を入力してください。
  [Unknown]:  Taro Hoge

組織単位名の入力だ。

組織単位名を入力してください。
  [Unknown]:  personal

組織名の入力だ。

組織名を入力してください。
  [Unknown]:  personal

都市名の入力だ。

都市名または地域名を入力してください。
  [Unknown]:  Kawasaki

県名の入力だ。

州名または地方名を入力してください。
  [Unknown]:  Kanagawa

国名の入力だ。

この単位に該当する 2 文字の国番号を入力してください。
  [Unknown]:  jp

最後に確認。

CN=Taro Hoge, OU=personal, O=personal, L=Kawasaki, ST=Kanagawa, C=jp で
よろしいですか?
  [no]:  yes

以上で証明書が作成される。

■アプリケーションパッケージへの署名

以下のようにjarsignerを使用する。

cd C:\Program Files\Java\jdk[version]\bin
jarsigner -verbose -keystore hoge.keystore C:\[eclipse-work-space-path]\workspace\PrimeNumber\bin\PrimeNumber.apk hoge

■apkファイルの最適化

以下のコマンドでapkファイルを最適化できる。

cd C:\android-sdk-windows\tools\
zipalign -v 4 C:\[eclipse-work-space-path]\workspace\PrimeNumber\bin\PrimeNumber.apk C:\[eclipse-work-space-path]\workspace\PrimeNumber\bin\output.apk

アップロードするのは新しく生成されたoutput.apkである。

■アップロード

以下から行う。ユーザアカウントの開設は有料($25)である。

http://market.android.com/publish/Home

Androidを久々に開発してみる

■エラー

以下の様なエラーが出る。

Error generating final archive: Debug certificate expired on 10/01/01 01:23! [application]  不明 Android Packaging Problem

デバッグ用の署名に使うkeystoreの期限切れらしい。めんどい。

■対策

以下のコマンドをコマンドプロンプトから入力。

C:\Program Files\Java\jdk[version]\bin\keytool -genkey -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android -dname "CN=Android Debug, O=Android,C=US"
  1. 同ディレクトリにdebug.keystoreが生成されたので、それを「(vista)C:\Users\[user]\.android」「(xp)C:\Documents and Settings\[user]\.android」に移動。
  2. eclipse>プロジェクト>クリーン

以上。

androidで証明書のフィンガープリントを表示する

開発用のフィンガープリントを表示する方法。備忘録。

■環境

Windows Vista

■方法

JDKのインストールディレクトリでkeytoolコマンドを実行する。

C:\Program Files\Java\%JDKのバージョン%\bin>keytool -list -alias androiddebugkey -keystore C:\Users\%ユーザ名%\.android\debug.keystore -storepass android -keypass android

オプションについて

-keystore
デバッグ用証明書の格納場所を指定

参考

大抵の参考書ではルートディレクトリで実行していたりするが、ちゃんと言ってくれなくちゃ分からない。

android端末の実機でデバッグ

備忘録。

■デバッグモードに設定

「設定>開発>USBデバッグ」のチェックボックスにチェックを入れる。これでUSB接続した時はデバッグモードになる。

USBデバッグ

■接続

USBケーブルで接続すると、デバイスドライバのインストールになる。ドライバは「android-sdk-windows/usb_driver/x86/」の中にある。

■認識

DDMSで端末として認識されるようになる。DDMSはダウンロードしたandroid SDKに含まれている「tools/ddms.bat」をダブルクリックすれば起動する。

DDMS

デバッグモードにせずに接続してしまった場合

この場合、すでにUSB大容量記憶装置として認識されてしまっているので、デバイスマネージャを起動して「USB大容量記憶装置」を削除し、上述の一番最初から行う必要がある。

場合によって

HTCからドライバをダウンロードしてインストールしてみる必要があるようです。

参考

android端末で自作アプリを動かす

■/workspace/project_name/bin/project_name.apk

このファイルがアプリケーション本体になりますので、webサーバの適当な位置にアップします。

■android端末でアプリのファイルにアクセス

ブラウザでURLを入力するとSDカードにダウンロードされる。但し、下のようにインデックスファイルを作った方が便利。

ブラウザでアクセス

■SDカードにダウンロード

上述のリンクをクリックすると、SDカードにファイルがダウンロードされる。

SDカードにダウンロード

■インストールのブロック

自作アプリは通常の端末でインストールできないように設定されている。提供元不明のアプリのインストールをブロックしユーザに害のないようになっているのだ。「setting」を押して設定を変更する。

インストールのブロック

■設定の変更

「提供元不明のアプリ」の項目にチェックを入れる。ここでセキュリティリスクの注意書きが出るがテストなので「OK」を押す。インストール後は元に戻すことを強く勧める。

設定の変更

■インストール

これでインストールができるようになる。「Install」ボタンをクリックだ。

インストール

■インストール完了

自作アプリが自前のandroid端末で動く。「Open」ボタンを押せばアプリが起動する。

インストール完了

自分のアプリが動く瞬間、なんか凄く達成感がある。

Android入門

昨日まではPHP漬けでしたが、今日からはモバイル漬けになります。だってそんな時代だもん。

■Android SDKのダウンロード

http://developer.android.com/sdk/

170MBもありますな。

■Android Development Toolkit(ADT)をインストール

ヘルプ>ソフトウェアの更新>Available Softwareのタブをクリックする。そして「サイトの追加」のボタンを押す。するとURLを入力できる。

文献によっては以下のURLが指定してあるが、実は現在このURLを指定すると「Not Repository」みたいな事を言われてしまう。

https://dl-ssl.google.com/android/eclipse/

正しいURL

https://dl-ssl.google.com/android/eclipse/site.xml

サイトの追加

■SDKとEclipseの紐付け

Eclipse側からSDKが「どこにあるのか?」を分かるようにしてあげる作業。個人的な趣味によりCドライブ直下にする。

パス

以下のように配置したとする。

C:\android-sdk-windows-1.5_r2

Eclipseの設定

「ウィンドウ>設定>Android」の順でメニューをたどると「参照」のボタンがあるのでクリックし、上述のパス(ディレクトリ)を指定する。

Eclipseの設定

以上で開発環境の構築は終了。これが長過ぎると人間やる気を無くすってもんだ。今回はサクッと片付いた。

■Hello, Androidアプリケーション

新規でAndroidプロジェクトを開始し以下のように入力するだけで完成する!

プロジェクト名
Hello
パッケージ名
org.example.hello
アクティビティ名
Hello
アプリケーション名
Hello, Android

ソースコード

今回は全くソースコードを触らないが一応ファイルを見てみると以下のような感じになってた。

package org.example.hello;

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

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

エミュレータで実行

※初めてエミュレータを起動すると設定画面が出る(適当な名前とターゲットSDKのバージョンを指定する)。

なんかAndroidの携帯が欲しくなった。