命令行ツールを使ってAndroidプロジェクトを管理する(Managing Project s from the Command Line)


------------------------------------------------------------------------------------
原文の作者:Google原文の住所:http://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject
译文著作権:Creative Commons 2.5 Attribution License
訳文者:[email protected]
本論文は2014-06-11バージョンに基づいて翻訳を開始し、2015-10-23バージョンに基づいて再翻訳する。
訳文の著作権:CC BY-NC-ND 4.0,複製転載は許可されていますが、翻訳文の作者の署名と翻訳文のリンクを保留しなければなりません。演繹と商業用途に使用してはいけません。
------------------------------------------------------------------------------------
前言
Android Toolは、コマンドラインを介して3種類のアイテムを作成することをサポートします。Androidプロジェクトは.appkのファイルをインストールするために必要なすべてのファイルとリソースを含めています。
  • Androidプロジェクトには.appkインストールファイルに必要なすべてのファイルとリソースが含まれています。デバイスにインストールされたアプリケーションのためにAndroidプロジェクトを作成する必要があります。
  • Androidプロジェクトは、他の依存プロジェクトの共有を可能にするライブラリプロジェクトに設計することができます。一旦Androidプロジェクトがライブラリプロジェクトに設計されると、直接に設備にインストールできなくなります。
  • テスト項目はJUnitテスト特性を拡張し、Androidプロジェクトテスト機能を提供します。テスト項目の作成については、Testing from other IDEsを参照してください。
  • 1.Creating an Android Project(Androidプロジェクトを作成)
    Android toolを使ってAndroidプロジェクトを作成する必要があります。Androidプロジェクトを作成すると、デフォルトのプログラムファイル、サブファイル、プロファイル、ビルドファイルなどが含まれているプロジェクトフォルダが生成されます。
    新しいAndroidプロジェクトを作成するには、コマンドラインの端末を開いて、あなたのSDKディレクトリのtools/パスにパスをナビゲートしてから実行する必要があります。
    android create project \
    --target <target_ID> \
    --name <your_project_name> \
    --path path/to/your/project \
    --activity <your_activity_name> \
    --package <your_package_namespace>
  • targetはあなたのプロジェクトの「build target」を指します。これは、あなたがプロジェクトを再構築するために使用するAndroidプラットフォーム(いくつかの拡張プラットフォーム、例えばGoogle APIを含む)を指定しています。使用可能なtargetとそれらに対応するIDを取得すると、android list targetコマンドを実行して確認することができます。
  • nameはプロジェクト名です。これはオプションです。もし提供されたら、あなたのプロジェクトをコンパイルする時、この名前はパッケージとして作成されます。
  • パスはプロジェクトフォルダを指定します。指定されたパスのフォルダが存在しない場合、自動的に作成されます。
  • activityはあなたのプロジェクトのデフォルトのActivityクラス名を指定します。このクラスはに作成されます。to_your_プロジェクトpackage_namespace_パス>/下name属性が設定されていない場合、この属性はあなたのファイル名としても使用されます。
  • packageはプロジェクトの名前空間であり、Javaプログラミング言語のパケット命名規範に従います。
  • 以下は例です
    android create project \
    --target 1 \
    --name MyAndroidApp \
    --path ./MyAndroidAppProject \
    --activity MyAndroidAppActivity \
    --package com.example.myandroid
    プロジェクトを作成すれば、開発を開始することができます。プロジェクトを任意の開発方法に移動してもいいですが、Android SDKのplotform-tools/ディレクトリ下のadbツールを使ってあなたのアプリケーションをシミュレータに送信してください。そのため、あなたはあなたのプロジェクトとplotform-toolsの二つのフォルダの間でお互いに切り替えが必要かもしれません。
    ヒント:環境変数PATHにplotform-tools/とtools/パスを追加できます。
    注意:SDKのパスを移動しないほうがいいです。これはプロジェクトlocal.propertiesファイルのSDKパスのプロパティにエラーが発生します。SDKパスを更新したいなら、android udate projectコマンドを使用して、詳しくは次の章Updating a Projectを参照してください。
    2.Updating a Project(更新項目)
    あなたのプロジェクトのためにAndroid SDKバージョンをアップグレードしたいなら、または今後のコードから新しいプロジェクトを構築したいなら、Android udate projectコマンドを使ってプロジェクトを新しい開発環境に更新することができます。このコマンドを使って既存のプロジェクトに対して、build targe(作成時の--targetオプションに対応)とプロジェクト名(作成時の--nameオプションに対応)を更新することもできます。Android toolは自動的に失われたファイルを作成します。または更新が必要です。またはAndroidプロジェクトに必要なファイル(前の章で述べたファイル)です。
    既存のandroidプロジェクトを更新するには、SDKのtools/ディレクトリにコマンドライン端末を開いて、次のコマンドを実行します。
    android update project --name <project_name> --target <target_ID>
    --path <path_to_your_project>
  • targetはあなたのプロジェクトの「build target」を指します。これは、あなたがプロジェクトを再構築するために使用するAndroidプラットフォーム(いくつかの拡張プラットフォーム、例えばGoogle APIを含む)を指定しています。使用可能なtargetとそれらに対応するIDを取得すると、android list targetコマンドを実行して確認することができます。
  • pathはプロジェクトパスを指します。
  • nameはプロジェクト名です。このオプションはオプションです。プロジェクト名を更新する必要がないなら、このパラメータを提供する必要はありません。
  • 以下は例です
    android update project --name MyApp --target 2 --path ./MyAppProject
    3.Setting up a Library Project(ライブラリ項目を配置)
    ライブラリプロジェクトも標準的なAndroidプロジェクトですので、新しいAndroidプロジェクトを作成する方法を使ってライブラリプロジェクトを作成することができます。特に、Android toolを使って新しいライブラリプロジェクトと必要なファイルとフォルダを作成することができます。
    ライブラリプロジェクトを作成します。/tools/パスの下にナビゲーションして、次のコマンドを使います。
    android create lib-project --name <your_project_name> \
    --target <target_ID> \
    --path path/to/your/project \
    --package <your_library_package_namespace>
    create lib-projectコマンドは、このプロジェクトがライブラリプロジェクトであることをコンパイルシステムに説明するために予め設定された属性値を含む標準的なプロジェクト構造を作成します。これはproject.propertiesファイルに以下の属性行を追加します。
    android.library=true
    命令が実行されれば、ライブラリ項目が作成されます。その後、次の章に従ってソースコードとリソースを追加してもいいです。
    既に存在しているAndroidアプリケーションをライブラリプロジェクトに変換すると、他のアプリケーションが利用できるようになります。Androidアプリケーションのproject.propertiesファイルにAndroid.library=true属性を設定して変換を完了します。
    3.1 Creating the manifest file(maifestファイル作成)
    標準的なAndroidプロジェクトと同様に、ライブラリプロジェクトのmanifestファイルは、すべてのコンポーネントを共有することを宣言しなければなりません。その他の情報はAndroid Manifest.xmlの説明文書を参照してください。
    例えば、TicTacToeLibライブラリの例プロジェクトは、GameActivityを宣言している:
    <manifest>
      ...
      <application>
        ...
        <activity android:name="GameActivity" />
        ...
      </application>
    </manifest>
    3.2 Updating a libraryプロジェクト(更新ライブラリプロジェクト)
    ライブラリ項目の構築パラメータを更新したい場合は、以下のコマンドが使用できます。
    android update lib-project \
    --target <target_ID> \
    --path path/to/your/project
    4.Referencing a Library Project(ライブラリ項目を参照)
    あなたが開発したプロジェクトが共有コードとリソースを一つのライブラリプロジェクトから導入する必要がある場合、プロジェクトの構築パラメータにライブラリ項目の参照を簡単に追加することができます。
    ライブラリ項目の参照を追加します。コマンドラインで/tools/パスにナビゲートして次のコマンドを使用します。
    android update project \
    --target <target_ID> \
    --path path/to/your/project
    --library path/to/library_projectA
    このコマンドは、アプリケーション項目の構築パラメータを更新し、ライブラリ項目の参照を追加します。特別に、それはプロジェクトのproject.propertiesファイルにandroid.library.reference.n属性を追加します。たとえば:
    android.library.reference.1=path/to/library_projectA
    複数のライブラリ項目の参照を追加すると、各参照のためにproject.propertiesファイルを編集することができます。nは適切な値を設定して、それらの相対優先度(組み合わせ順序)を設定します。
    android.library.reference.1=path/to/library_projectA
    android.library.reference.2=path/to/library_projectB
    android.library.reference.3=path/to/library_projectC
    これらの引用の優先度を並べ替えることができます。project Cの最高優先度:
    android.library.reference.2=path/to/library_projectA
    android.library.reference.3=path/to/library_projectB
    android.library.reference.1=path/to/library_projectC
    アプリケーションのnシーケンス番号は「1」から開始しなければならず、並べ替え中に「漏れ番号」があってはならない(つまり、1、2、4のような順序付けができない)。「漏号」の後ろにある引用は無視されます。
    コンパイルの間、すべての依存ライブラリは、最低優先度から最高優先度までの順序でアプリケーション項目に一括して結合されます。ただし、ライブラリプロジェクト自体は他のライブラリプロジェクトに依存してはいけません。コンパイル中にライブラリプロジェクトがアプリケーションに組み込まれる前に、それらの間で互いに結合しないことはありません。
    4.1 Declaring library components in the manifest file(maifestファイルでライブラリプロジェクトを宣言するコンポーネント)
    アプリケーションで使いたいmanifestファイルでは、依存ライブラリから導入して使用したコンポーネントすべてを声明しなければなりません。例えば、あなたは使用したと宣言しなければなりません。
    <activity>、<service>、<receiver>、<provider>などのコンポーネントも含まれています。
    ステートメントが使用する依存ライブラリコンポーネントは、完全なパッケージ名ステートメントを使用しなければなりません。
    例えば、TicTacToeMainの例示的なアプリケーション・ステートメントライブラリプロジェクトのGameActivity:
    <manifest>
      ...
      <application>
        ...
        <activity android:name="com.example.android.tictactoe.library.GameActivity" />
        ...
      </application>
    </manifest>
    manifestファイルに関する詳細は、Android Manifest.xmlの説明文書を参照してください。
    4.2 Buiilding a dependent appplication(コンパイルの1つの依存するアプリケーション)
    1つ以上のライブラリ項目に依存するアプリケーションをコンパイルします。Buiding and Runningドキュメントに記述されている標準Ant構築コマンドとコンパイルモードを使って構築できます。ツールはコンパイルされ、すべての依存ライブラリを組み合わせてプロジェクトの一部とします。追加のコマンドやステップは必要ありません。