Androidアプリケーションの管理と配布:Android技術者認定試験「ACE」ドリル(11)(2/2 ページ)
開発したアプリケーションを「Google Play」に登録し、全世界に向けてリリースできるのがAndroidの大きな魅力の1つだ。今回は、Androidアプリケーションの管理と配布の知識について問う。
解答
演習1:答え(1)
これは、「android:versionName」属性の意味を問う問題です。
Androidのアプリケーションは、一度リリースするとそれで終わりではなく、機能追加やバグ対応で更新されるケースがよくあります。その際、更新したことをユーザーとシステムに伝える方法として、AndroidManifest.xmlの<manifest>タグにある「android:versionName」属性と「android:versionCode」属性の値を修正します。
まず、「android:versionName」属性ですが、これは“ユーザーが確認可能”なバージョンになります。例えば、アプリケーションの管理画面で、「バージョン」として表示されます(図11の赤色の枠内)。
この値は、“文字列”で自由に指定できます。そのため、日本語を用いて表現することも可能です。ただ、現実的には「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の「開発機能」について学んでいきます。それでは、次回もご期待ください! (次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.