androidコマンドライン開発手順



androidコマンドでの開発手順

統合開発環境(IDE)を利用せず、コマンドラインからAndroidアプリケーションを開発する手順を記載します。

主な開発の流れは以下の通りです。

  1. プロジェクトを作成する。
  2. ソースコードを編集する。
  3. 「ant」コマンドでコンパイルする。
  4. 「keytool」コマンドで署名用の証明書を作成する。
  5. 「jarsigner」コマンドでデジタル署名を行う。
  6. インストールする。

androidプロジェクトの作成

プロジェクトを作成するには「create project」コマンドを実行します。

書式は下記の通りです。コマンドは一行で記述する必要があるので、「\」をつけてシェル命令を続けています。

$ android create project \
--target <ターゲットID> \
--name <プロジェクト名> \
--path <プロジェクトディレクトリの作成パス> \
--activity <使用アクティビティ名> \
--package <パッケージのネームスペース>

実行例

android create project \
--target 1 \
--path ./ \
--activity CmdSampleActivity \
--package com.capm_network.cmdsample

androidプロジェクトのコンパイル

Apache ANTを利用します。

パッケージビルドを行う場合には下記コマンドを実行する。

$ ant release

デバッグビルドを行う場合には下記コマンドを実行する。

$ ant debug

「BUILD SUCCESSFUL」と表示されればビルドは成功です。

「bin」ディレクトリの中に拡張子が「apk」のファイルが作成されます。

このファイルは必要なファイルを配布形式(ZIP形式で圧縮)にしたものです。


署名用の証明書を作成する。

Androidでは、アプリケーションを導入するためには、アプリケーションに署名をする必要があります。

署名を行うために必要となる証明書(鍵)の作成、管理は「keytool」コマンド(JDKのbinディレクトリに含む)で行います。

keytoolで鍵作成コマンドの書式は以下の通りです。

$ keytool -genkey -v \
-keyalg <鍵生成の暗号化方式> \
-keystore <証明書ファイル名> \
-alias <証明書別名> \
-validity <有効期限の日数> 

実行例

キーストアパスワード、姓名、組織名、都市名、州名、国番号の入力を要求されるので入力していきます。

日本国の番号は「jp」となります。

生成アルゴリズムはRSA、有効期間は10000日とします。

$ keytool -genkey -v -keyalg RSA -keystore ./capmnetwork.keystore \
-alias cmnkey -validity 10000 
キーストアのパスワードを入力してください:  
新規パスワードを再入力してください: 
姓名を入力してください。
  [Unknown]:  ****
組織単位名を入力してください。
  [Unknown]:  ****
組織名を入力してください。
  [Unknown]:  ****
都市名または地域名を入力してください。
  [Unknown]:  ****
州名または地方名を入力してください。
  [Unknown]:  odawara
この単位に該当する 2 文字の国番号を入力してください。
  [Unknown]:  jp
CN=****, OU=****, O=****, L=*****, ST=odawara, C=jp でよろしいですか?
  [no]:  yes

10,000 日間有効な 1,024 ビットの RSA の鍵ペアと自己署名型証明書 (SHA1withRSA) を生成しています
<cmnkey> の鍵パスワードを入力してください。
	(キーストアのパスワードと同じ場合は RETURN を押してください):  
[./capmnetwork.keystore を格納中]

androidプロジェクトに署名する。

「jarsigner」コマンドを実行することで、「keytool」コマンドで作成した証明書を用いて、apkファイルにデジタル署名します。

jarsignerコマンドの署名実行の形式は以下の通りです。

$ jarsigner -verbose -keystore <証明書ファイル> <署名対象パッケージ> <証明書別名> 

実行例

署名する際に証明書のパスワードを入力します。

$ jarsigner -verbose -keystore ./capmnetwork.keystore ¥
> ./bin/CmdSampleActivity-release-unsigned.apk cmnkey
キーストアのパスワードを入力してください: 
   追加中: META-INF/MANIFEST.MF
   追加中: META-INF/CMNKEY.SF
   追加中: META-INF/CMNKEY.RSA
  署名中: res/layout/main.xml
  署名中: AndroidManifest.xml
  署名中: resources.arsc
  署名中: classes.dex

パッケージのインストール

コンパイルして生成されたアプリケーション(apkファイル)を実行中のエミュレータにインストールします。

$ adb install <apkファイル>

署名について

インストール時に、アプリケーションに署名がない場合には下記エラーが表示されます。

署名を作成してからアプリケーションをインストールする必要があります。

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

パッケージのアンインストール

アンインストールする場合、アプリケーション名だけ指定してアンインストールすることはできません。

アンインストール対象のパッケージ名はフルパスで指定します。

フルパスが解らない場合には、apkファイルをzip解凍して「AndroidManifest.xml」ファイルを確認します。

$ adb uninstall <パッケージ名>

実行例

アプリ名は全て小文字で指定し、拡張子「.apk」は除く形式となります。

$ adb uninstall jp.capm_network.cmdsample
Success

関連

android





スポンサード リンク