101 lines
8.8 KiB
Plaintext
101 lines
8.8 KiB
Plaintext
|
page.title=アプリケーションのバージョニング
|
||
|
@jd:body
|
||
|
|
||
|
<div id="qv-wrapper">
|
||
|
<div id="qv">
|
||
|
|
||
|
<h2>バージョン管理の概略</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li>アプリケーションにはバージョンを設定する必要がある<em></em></a></li>
|
||
|
<li>バージョンは、アプリケーションのマニフェスト ファイルで設定する</li>
|
||
|
<li>アプリケーションのバージョン管理方法は、ユーザーのアップグレード方法に影響 </li>
|
||
|
<li>開発プロセスの初期段階で、今後のリリースの検討事項を含めて、バージョン管理戦略を決定します</li>
|
||
|
</ul>
|
||
|
|
||
|
<h2>このドキュメントの内容</h2>
|
||
|
|
||
|
<ol>
|
||
|
<li><a href="#appversion">アプリケーションのバージョンの設定</a></li>
|
||
|
<li><a href="#minsdkversion">最小システム API バージョンの指定</a>
|
||
|
</ol>
|
||
|
|
||
|
|
||
|
<h2>関連項目</h2>
|
||
|
|
||
|
<ol>
|
||
|
<li><a href="{@docRoot}guide/publishing/preparing.html">公開の準備</a></li>
|
||
|
<li><a href="{@docRoot}guide/publishing/publishing.html#market">Android マーケットでの公開</a></li>
|
||
|
<li><a href="{@docRoot}guide/topics/manifest/manifest-intro.html">The AndroidManifest.xml File</a></li>
|
||
|
</ol>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<p>バージョン管理のコンポーネントは、アプリケーションのアップグレード及びメンテナンスの計画を立てるのに重要です。 </p>
|
||
|
|
||
|
<ul>
|
||
|
<li>ユーザーは、デバイスにインストールされたアプリケーション バージョンと、インストールが可能なアップグレード バージョンについて、特定の情報が必要です。 </li>
|
||
|
<li>スイートとして公開されたその他のアプリケーションなどでは、アプリケーションのバージョンをシステムに問い合わせて、互換性と依存関係を確認する必要があります。</li>
|
||
|
<li>アプリケーションを公開するサービスでは、アプリケーションにバージョンを問い合わせて、バージョンをユーザーに表示できるようにする必要があります。公開サービスでは、互換性を確認してアップグレードとダウングレードの関係を確立するために、アプリケーション バージョンを確認する必要があります。</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>Android システム自体は、アップグレードや互換性の制約の実施などのために、アプリケーション バージョン情報をアプリケーションに対して<em>確認することはありません</em>。代わりに、アプリケーションにおけるバージョン制約はユーザーまたはアプリケーション自体によって完全に実施されます。 </p>
|
||
|
|
||
|
<p>Android システムが確認を行うのは、アプリケーションによってマニフェストの <code>minSdkVersion</code> 属性に指定されたシステム バージョン互換性です。<em></em>この属性によりアプリケーションは互換性を持つ最小システム API を指定できます。詳細は、<a href="#minsdkversion">最小システム API バージョンの指定</a>をご覧ください。
|
||
|
|
||
|
<h2 id="appversioning">アプリケーションのバージョンの設定</h2>
|
||
|
<p>アプリケーションのバージョン情報を定義するには、アプリケーションのマニフェスト ファイルで属性を設定します。2 つの属性を使用でき、常にこの両方に値を定義することが推奨されています: </p>
|
||
|
|
||
|
<ul>
|
||
|
<li><code>android:versionCode</code> - アプリケーション コードのバージョンを他のバージョンと相対的に示す整数値。
|
||
|
|
||
|
<p>この値は整数なので、その他のアプリケーションはプログラムでバージョンの値を評価して関係を確認できます(たとえば、このバージョンがアップグレードかダウングレードなのか、など)。任意の整数値を設定できますが、アプリケーションの後続のリリースでは、現在より大きな値を使用するようにしてください。システムではこのバージョン管理の基準を強制しませんが、後継リリースの値を増加させることは標準的です。 </p>
|
||
|
|
||
|
<p>通常、アプリケーションの最初のバージョンの versionCode を 1 に設定してリリースし、その後は各リリースについて、リリースがメジャー リリースであってもマイナー リリースであっても、値を単調増加させます。これは、<code>android:versionCode</code> の値は、ユーザーに表示されるアプリケーション リリース バージョンと類似している必要性はないことを意味します。以下の <code>android:versionName</code> をご覧ください。アプリケーションと公開サービスでは、このバージョンの値はユーザーには表示されません。</p>
|
||
|
</li>
|
||
|
<li><code>android:versionName</code> - アプリケーション コードのリリース バージョンを表す文字列値で、ユーザーに表示される値です。
|
||
|
<p>値は文字列なので、アプリケーション バージョンを「<major>.<minor>.<point>」といった文字列や、その他のタイプの絶対的または相対的バージョン ID として記述できます。 </p>
|
||
|
|
||
|
<p><code>android:versionCode</code> の場合と同様に、システムではこの値をアプリケーションでユーザーに表示する以外の目的で内部的に利用することはありません。公開サービスでは、ユーザーに表示するために <code>android:versionName</code> 値を取り出す可能性もあります。</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>これらのバージョン属性の両方をマニフェスト ファイルの <code><manifest></code> 要素で定義します。 </p>
|
||
|
|
||
|
<p>ここに、<code><manifest></code> 要素の <code>android:versionCode</code> と <code>android:versionName</code> 属性を示すマニフェストの例を示します。 </p>
|
||
|
|
||
|
<pre>
|
||
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||
|
package="com.example.package.name"
|
||
|
android:versionCode="2"
|
||
|
android:versionName="1.1">
|
||
|
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||
|
...
|
||
|
</application>
|
||
|
</manifest>
|
||
|
</pre>
|
||
|
|
||
|
<p>この例では、<code>android:versionCode</code> 値は現在の .apk がこのアプリケーション コードの 2 番目のリリースを含んでいることを表し、これは <code>android:codeName</code> 文字列が示すようにマイナー後継リリースであることを示します。 </p>
|
||
|
|
||
|
<p>Android フレームワークには、アプリケーションがシステムに別のアプリケーションのバージョン情報を問い合わせる API が用意されています。バージョン情報を取得するため、アプリケーションは {@link android.content.pm.PackageManager#getPackageInfo(java.lang.String, int)}
|
||
|
method of {@link android.content.pm.PackageManager PackageManager}. </p> を使用します。
|
||
|
|
||
|
<h2 id="minsdkversion">最小システム API バージョンの指定</h2>
|
||
|
|
||
|
<p>アプリケーションが最低でも Android プラットフォームの特定のバージョンを必要とする場合、このバージョンを API レベルの ID としてアプリケーションのマニフェスト ファイルに指定できます。このようにすると、互換性のあるバージョンの Android システムを実行しているデバイスにのみアプリケーションをインストールできるようになります。 </p>
|
||
|
|
||
|
<p>最小システム バージョンをマニフェストに指定するには、次の属性を使用します: </p>
|
||
|
|
||
|
<ul>
|
||
|
<li><code>android:minSdkVersion</code> - Android プラットフォームのコード バージョンに対応する整数値。
|
||
|
<p>アプリケーションのインストールを準備する際に、システムはこの属性の値を確認して、システム バージョンと比較します。<code>android:minSdkVersion</code> 値がシステム バージョンよりも大きい場合、システムはアプリケーションのインストールを中止します。 </p>
|
||
|
|
||
|
<p>この属性をマニフェストに指定しない場合、システムではアプリケーションがすべてのプラットフォーム バージョンと互換性があると仮定します。</p></li>
|
||
|
</ul>
|
||
|
|
||
|
<p>アプリケーションに最小プラットフォーム バージョンを指定するには、<code><uses-sdk></code> 要素を <code><manifest></code> の子として追加し、<code>android:minSdkVersion</code> を属性として定義します。 </p>
|
||
|
|
||
|
<p>詳細は、<a href="{@docRoot}sdk/android-1.1.html">Android System Image 1.1 Version Notes</a> もご覧ください。</p>
|