Wear アプリのパッケージ化

警告

次のドキュメントとサンプル プロジェクトはメンテナンスされなくなる可能性があります。 Xamarin.Android 11.1 の時点で、Android Wear アプリケーションを Android Handheld アプリケーション内で自動的にパッケージ化することはサポートされなくなりました。 代わりに、Android Wear アプリケーションをスタンドアロン アプリケーションとして配布することをお勧めします。

Android Wear 1.0 アプリは、Google Play 上で配布するための完全な Android アプリと共にパッケージ化されています。

Android Wear 2.0 アプリでは、スタンドアロン アプリケーションとして Google Play に提出できます。

自動パッケージ化

Xamarin Android 5.0 以降では、Handheld プロジェクトから Wear プロジェクトへのプロジェクト参照を作成すると、Wear アプリが自動的に Handheld アプリ内のリソースとしてパッケージ化されます。 次の手順に従うと、この関連付けを作成できます。

  1. Wear アプリがまだ Handheld ソリューションに含まれていない場合は、ソリューション ノードを右クリックし、[追加] > [既存のプロジェクトの追加...] を選択します。

  2. Wear アプリの .csproj ファイルに移動して選択し、[開く] をクリックします。 これで、この Wear アプリ プロジェクトが Handheld ソリューション内に表示されるようになります。

  3. [参照] ノードを右クリックして、[参照の追加] を選択します。

  4. [参照マネージャー] ダイアログ内で Wear プロジェクトを有効に (クリックしてチェック マークを追加) して、[OK] をクリックします。

  5. Wear プロジェクトのパッケージ名を変更して、Handheld プロジェクトのパッケージ名と一致するようにします (パッケージ名は [プロパティ] > [Android マニフェスト] の下で変更できます)。

Wear アプリのパッケージ名が Handheld アプリのパッケージ名と一致しない場合は、XA5211 エラーが発生します。 次に例を示します。

Error XA5211: Embedded wear app package name differs from handheld 
app package name (com.companyname.mywearapp != com.companyname.myapp). (XA5211)

このエラーを修正するには、Wear アプリのパッケージ名を変更して、Handheld アプリのパッケージ名と一致するようにします。

[ビルド] > [すべてビルド] をクリックすると、この関連付けによって、メインの Handheld (Phone) プロジェクトへの Wear プロジェクトの自動パッケージ化がトリガーされます。 Wear アプリは自動的にビルドされ、Handheld アプリ内のリソースとして含まれます。

Wear アプリ プロジェクトによって生成されるアセンブリは、Handheld (Phone) プロジェクトのアセンブリ参照としては使用されません。 代わりに、ビルド プロセスで次の処理が行われます。

  • パッケージ名が一致することを確認します。

  • XML を生成し、それを Handheld プロジェクトに追加して Wear アプリと関連付けます。 次に例を示します。

    <!-- Handheld (Phone) Project.csproj -->
    <ProjectReference Include="..\MyWearApp\MyWearApp.csproj">
        <Project>{D80E1FEF-653B-448C-B2AA-609C74E88340}</Project>
        <Name>MyWearApp</Name>
        <IsAppExtension>True</IsAppExtension>
    </ProjectReference>
    
  • Wear アプリをのリソースとして Handheld プロジェクトに追加します。

手動パッケージ化

バージョン 5.0 より前の Xamarin.Android 内で Android Wear アプリを作成できますが、そのアプリを配布するには、次の手動パッケージ化手順に従う必要があります。

  1. ウェアラブル プロジェクトと Handheld (Phone) プロジェクトのバージョン番号とパッケージ名が同じであることを確認します。

  2. リリース ビルドとしてウェアラブル プロジェクトを手動でビルドします。

  3. 手順 (2) のリリース .APK を、Handheld (Phone) プロジェクトの Resources/raw ディレクトリ内に手動で追加します。

  4. 手順 (3) のウェアラブル APK を参照する Handheld プロジェクト内に、新しい XML リソース Resources/xml/wearable_app_desc.xml を手動で追加します。

    <wearableApp package="wearable.app.package.name">
        <versionCode>1</versionCode>
        <versionName>1.0</versionName>
        <rawPathResId>NAME_OF_APK_FROM_STEP_3</rawPathResId>
    </wearableApp>
    
  5. 新しい XML リソースを参照する、ハンドヘルド プロジェクトの AndroidManifest.xml <application> 要素に<meta-data />要素を手動で追加します。

    <meta-data android:name="com.google.android.wearable.beta.app"
        android:resource="@xml/wearable_app_desc"/>
    

Android 開発者向けサイトの手動パッケージ化の手順も参照してください。