連載
» 2012年04月03日 10時52分 UPDATE

Android技術者認定試験「ACE」ドリル(11):Androidアプリケーションの管理と配布 (2/2)

[奥 崇(elan),@IT MONOist]
前のページへ 1|2       

解答

演習1:答え(1)

 これは、「android:versionName」属性の意味を問う問題です。

 Androidのアプリケーションは、一度リリースするとそれで終わりではなく、機能追加やバグ対応で更新されるケースがよくあります。その際、更新したことをユーザーとシステムに伝える方法として、AndroidManifest.xmlの<manifest>タグにある「android:versionName」属性と「android:versionCode」属性の値を修正します。

 まず、「android:versionName」属性ですが、これは“ユーザーが確認可能”なバージョンになります。例えば、アプリケーションの管理画面で、「バージョン」として表示されます(図11の赤色の枠内)。

Androidアプリケーションの「バージョン」表示 図11 Androidアプリケーションの「バージョン」表示

 この値は、“文字列”で自由に指定できます。そのため、日本語を用いて表現することも可能です。ただ、現実的には「X.X.X(Xは数字)」という形式で設定しているアプリケーションがほとんどです。ちなみに、アプリケーションを更新する際、この値を必ず変更しなければならないというわけではありません(あくまで任意です)。よって、正解は(1)となります。

 ついでなので、「android:versionCode」属性についても確認してみましょう。こちらは“システム内部が利用”するもので、ユーザーからは見えないバージョンの情報となります。指定できる値は“整数”です。この値を既存の値より大きな値に変更すると、システムはそのアプリケーションが“更新されている”と判断します。そのため、アプリケーションを更新した際、この値は必ず変更しなければなりません。

演習2:答え(2)

 アプリケーションの署名に必要な“プライベートキー”を作成するツールに関する問題です。これは完全に知っているかどうかの問題になります。先に、正解からいいますと(2)の「keytool」となります。

 開発したAndroidアプリケーションを端末にインストールするためには、“デジタル署名”を行わなければなりません。このデジタル署名を行うツールが「jarsigner」となります。また、デジタル署名の際に必要となるプライベートキーを生成するのがkeytoolとなります。なお、jarsignerとkeytoolは、JDK(Java Development Kit)に同梱されており、ターミナル(Windowsの場合はコマンドプロンプト)からコマンドを打つことにより実行できます。

 ただし、EclipseにADT(Android Development Tools)を適用している場合は、GUIのウィザードに従うことにより、アプリケーションのパッケージング、プライベートキーの生成、そしてデジタル署名までを行うことができます。

 なお、この演習からはそれてしまいますが、アプリケーション管理で頻出する問題として、<uses-sdk>タグの扱いが挙げられます。これについては、連載第5回演習2で取り上げています。併せて復習しておきましょう。

 また、連載第5回の時にはなかったのですが、現在は「Android 4.0」もリリースされていますので、再度、プラットフォームのバージョンとAPIレベルの関係の表を示しておきます(表1)。

プラットフォームのバージョン APIレベル
Android 4.03 15
Android 4.0/4.0.1/4.0.2 14
Android 3.2 13
Android 3.1.X 12
Android 3.0.X 11
Android 2.3.3/2.3.4 10
Android 2.3/2.3.1/2.3.2 9
Android 2.2.X 8
Android 2.1.X 7
Android 2.0.1 6
Android 2.0 5
Android 1.6 4
Android 1.5 3
Android 1.1 2
Android 1.0 1
表1 プラットフォームのバージョンとAPIレベルの対応関係

演習3:答え(2)

 これは署名を行うことによる利点を問う問題です。

 開発したAndroidアプリケーションを端末にインストールするには、前提として、そのアプリケーションに署名がなされていることが必須です。この署名による利点は、以下の2つに大別できます。

 1つは、アプリケーションの作成者を識別できることです。Androidでは、アプリケーションの更新時に、更新前と更新後のアプリケーションが同一の証明書で署名されていることを要求します。これにより、“同一の証明書を保持している=アプリケーションの作成者”だと認識できます。つまり、逆にいいますと、証明書を紛失した場合は、今後Androidアプリケーションの更新が一切できなくなりますので、注意してください。

 もう1つが、アプリケーション間の信頼関係の担保です。例えば、複数のAndroidアプリケーションを同一ユーザーで動かす場合、各アプリケーションが同一の証明書で署名されている必要があります。なお、本稿では、これ以上の詳細について割愛します。ベーシックレベルとしては少々難易度が高いため、頭の片隅にでも置いておきましょう。よって、ここでの正解は(2)となります。



 以上で、アプリケーション管理と配布の項目は終了です。この単元は「知っているかどうか」という問題ばかりです。重要度が低く、出題数も少ないのですが、知っていれば確実に点数になります!

 また、せっかくなのでGoogle Playに、ご自身で開発したアプリケーションを公開してみてもよいかもしれません。AppleのApp Storeと違い、アプリケーションの事前審査はありませんので、単純な「HelloWorld」アプリケーションを公開することも可能です。まだ一度も公開したことがない方は、ぜひチャレンジしてみてください!

 次回は、Androidの「開発機能」について学んでいきます。それでは、次回もご期待ください! (次回に続く)

ACEアプリベーシック試験対応イーラーニング(サンプルIDプレゼント中)


Androidコーナー

Androidコーナー
「Android(アンドロイド)」の組み込み機器への適用からアプリ開発、レポート、ニュースなどさまざまな技術情報・最新動向をお届けする!!

>>コーナーTOPはこちらから


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.