Упаковка неизносных приложенийPackaging Wear Apps

Приложения "износ Android" упаковываются в полноценное приложение Android для распространения на Google Play.Android Wear apps are packaged with a full Android app for distribution on Google Play.

Автоматическая упаковкаAutomatic Packaging

Начиная с Xamarin Android 5,0, приложение "износ" автоматически упаковывается как ресурс в мобильном приложении при создании ссылки на проект из ручного проекта в проект "износ".Starting with Xamarin Android 5.0, your Wear app is automatically packaged as a resource in your Handheld app when you create a project reference from the Handheld project to the Wear project. Чтобы создать эту связь, можно выполнить следующие действия.You can use the following steps to create this association:

  1. Если приложение "износ" еще не является частью вашего карманного решения, щелкните правой кнопкой мыши узел решения и выберите добавить > добавить существующий проект... .If your Wear app is not already part of your Handheld solution, right-click the solution node and select Add > Add Existing Project....

  2. Перейдите к csprojму файлу приложения "износ", выберите его и нажмите кнопку Открыть.Navigate to the .csproj file of your Wear app, select it, and click Open. Проект "износ приложения" теперь должен отображаться в вашем карманном решении.The Wear app project should now be visible in your Handheld solution.

  3. Щелкните правой кнопкой мыши узел ссылки и выберите команду Добавить ссылку.Right-click the References node and select Add Reference.

  4. В диалоговом окне Диспетчер ссылок включите проект "износ" (щелкните, чтобы добавить галочку), а затем нажмите кнопку ОК.In the Reference Manager dialog, enable your Wear project (click to add a check mark), then click OK.

  5. Измените имя пакета для проекта "износ", чтобы оно совпадало с именем пакета ручного проекта (имя пакета можно изменить в свойствах > манифесте Android).Change the package name for your Wear project so that it matches the package name of the Handheld project (the package name can be changed under Properties > Android Manifest).

Обратите внимание, что вы получите ошибку XA5211 , если имя пакета приложения "износ" не соответствует имени пакета карманного приложения.Note that you will get an XA5211 error if the package name of the Wear app does not match the package name of the Handheld app. Например:For example:

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

Чтобы исправить эту ошибку, измените имя пакета приложения "износ" так, чтобы оно совпадало с именем пакета карманного приложения.To correct this error, change the package name of the Wear app so that it matches the package name of the Handheld app.

Если щелкнуть сборка > собрать все, это сопоставление активирует автоматический упаковку проекта по износу в главный карманный (телефонный) проект.When you click Build > Build All, this association triggers automatic packaging of the Wear project into the main Handheld (Phone) project. Приложение "износ" автоматически создается и включается в качестве ресурса в приложение для карманного ПК.The Wear app is automatically built and included as a resource in the Handheld app.

Сборка, создаваемая проектом приложения "износ", не используется в качестве ссылки на сборку в наладонном (телефоне) проекте.The assembly that the Wear app project generates is not used as an assembly reference in the Handheld (Phone) project. Вместо этого процесс сборки выполняет следующие действия:Instead, the build process does the following:

  • Проверяет совпадение имен пакетов.Verifies that the package names match.

  • Создает XML и добавляет его в проект карманного приложения, чтобы связать его с приложением "износ".Generates XML and adds it to the Handheld project to associate it with the Wear app. Например:For example:

    <!-- Handheld (Phone) Project.csproj -->
    <ProjectReference Include="..\MyWearApp\MyWearApp.csproj">
        <Project>{D80E1FEF-653B-448C-B2AA-609C74E88340}</Project>
        <Name>MyWearApp</Name>
        <IsAppExtension>True</IsAppExtension>
    </ProjectReference>
    
  • Добавляет приложение "износ" в качестве необработанного ресурса в ручной проект.Adds the Wear app as a raw resource to the Handheld project.

Ручная упаковкаManual Packaging

Приложения "износ Android" можно создавать в Xamarin. Android до версии 5,0, но для распространения приложения необходимо выполнить следующие инструкции упаковки вручную:You can write Android Wear apps in Xamarin.Android before version 5.0, but you must follow these manual packaging instructions to distribute the app:

  1. Убедитесь, что проект носимого пользователем и наладонные (телефоны) проекты имеют одинаковый номер версии и имя пакета.Ensure that your Wearable project and Handheld (Phone) projects have the same version number and package name.

  2. Вручную создайте проект носимого пользователем в качестве сборки выпуска .Manually build the Wearable project as a Release build.

  3. Добавьте выпуск вручную . APK из шага (2) в каталог Resources/RAW для наладонного (телефонного) проекта.Manually add the release .APK from step (2) into the Resources/raw directory of the Handheld (Phone) project.

  4. Вручную добавьте новые ресурсы XML-ресурсов /XML/wearable_app_desc. XML в ручном проекте, который ссылается на носимого пользователем apk из шага (3):Manually add a new XML resource Resources/xml/wearable_app_desc.xml in the Handheld project which refers to Wearable APK from step (3):

    <wearableApp package="wearable.app.package.name">
        <versionCode>1</versionCode>
        <versionName>1.0</versionName>
        <rawPathResId>NAME_OF_APK_FROM_STEP_3</rawPathResId>
    </wearableApp>
    
  5. Вручную добавьте <meta-data /> элемент в элемент AndroidManifest. XML <application> карманного проекта, который ссылается на новый ресурс XML:Manually add a <meta-data /> element to the Handheld project's AndroidManifest.xml <application> element that refers to the new XML resource:

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

См. также руководство по паккгингиюсайта разработчика Android.See also the Android Developer site's manual packging instructions.