Verpacken von Verschleiß-Apps

Warnung

Die folgenden Dokumente und Beispielprojekte werden möglicherweise nicht mehr verwaltet. Ab Xamarin.Android 11.1 wird das automatische Packen einer Android Wear-Anwendung in einer Android-Handheldanwendung nicht mehr unterstützt. Es wird empfohlen, Android Wear-Anwendungen stattdessen als eigenständige Anwendungen zu verteilen.

Android Wear 1.0-Apps sind mit einer vollständigen Android-App für die Verteilung auf Google Play verpackt.

Android Wear 2.0-Apps können als eigenständige Anwendungen an Google Play übermittelt werden.

Automatische Verpackung

Ab Xamarin Android 5.0 wird Ihre Wear-App automatisch als Ressource in Ihrer Handheld-App verpackt, wenn Sie einen Projektverweis vom Handheld-Projekt auf das Wear-Projekt erstellen. Sie können die folgenden Schritte ausführen, um diese Zuordnung zu erstellen:

  1. Wenn Ihre Wear-App noch nicht Teil Ihrer Handheld-Lösung ist, klicken Sie mit der rechten Maustaste auf den Projektmappenknoten, und wählen Sie Vorhandenes Projekt hinzufügen > ... aus.

  2. Navigieren Sie zur CSPROJ-Datei Ihrer Wear-App, wählen Sie sie aus, und klicken Sie auf Öffnen. Das Wear-App-Projekt sollte jetzt in Ihrer Handheld-Lösung sichtbar sein.

  3. Klicken Sie mit der rechten Maustaste auf den Knoten Verweise, und wählen Sie Verweis hinzufügen aus.

  4. Aktivieren Sie im Dialogfeld Verweis-Manager Ihr Wear-Projekt (klicken Sie, um ein Häkchen hinzuzufügen), und klicken Sie dann auf OK.

  5. Ändern Sie den Paketnamen für Ihr Wear-Projekt so, dass er mit dem Paketnamen des Handheld-Projekts übereinstimmt (der Paketname kann unter Eigenschaften > Android Manifest geändert werden).

Beachten Sie, dass ein XA5211-Fehler angezeigt wird, wenn der Paketname der Wear-App nicht mit dem Paketnamen der Handheld-App übereinstimmt. Beispiel:

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

Um diesen Fehler zu beheben, ändern Sie den Paketnamen der Wear-App so, dass er mit dem Paketnamen der Handheld-App übereinstimmt.

Wenn Sie auf Build > Build All klicken, löst diese Zuordnung die automatische Verpackung des Wear-Projekts in das Standard Handheld -Projekt (Telefon) aus. Die Wear-App wird automatisch erstellt und als Ressource in der Handheld-App enthalten.

Die Assembly, die vom Wear-App-Projekt generiert wird, wird nicht als Assemblyverweis im Handheld-Projekt (Telefon) verwendet. Stattdessen führt der Buildprozess folgendes aus:

  • Überprüft, ob die Paketnamen übereinstimmen.

  • Generiert XML und fügt es dem Handheld-Projekt hinzu, um es der Wear-App zuzuordnen. Beispiel:

    <!-- Handheld (Phone) Project.csproj -->
    <ProjectReference Include="..\MyWearApp\MyWearApp.csproj">
        <Project>{D80E1FEF-653B-448C-B2AA-609C74E88340}</Project>
        <Name>MyWearApp</Name>
        <IsAppExtension>True</IsAppExtension>
    </ProjectReference>
    
  • Fügt die Wear-App als Rohressource zum Handheld-Projekt hinzu.

Manuelle Verpackung

Sie können Android Wear-Apps in Xamarin.Android vor Version 5.0 schreiben, aber Sie müssen diese manuellen Packanweisungen befolgen, um die App zu verteilen:

  1. Stellen Sie sicher, dass Ihr Wearable-Projekt und Ihr Handheld-Projekt (Telefon) die gleiche Versionsnummer und den gleichen Paketnamen haben.

  2. Erstellen Sie das Wearable-Projekt manuell als Releasebuild .

  3. Fügen Sie das Release manuell hinzu . APK aus Schritt (2) in das Verzeichnis Resources/raw des Handheld-Projekts (Telefon).

  4. Fügen Sie manuell eine neue XML-Ressource Resources/xml/wearable_app_desc.xml im Handheld-Projekt hinzu, das sich auf wearable APK aus Schritt (3) bezieht:

    <wearableApp package="wearable.app.package.name">
        <versionCode>1</versionCode>
        <versionName>1.0</versionName>
        <rawPathResId>NAME_OF_APK_FROM_STEP_3</rawPathResId>
    </wearableApp>
    
  5. Fügen Sie dem AndroidManifest.xml<application> Element des Handheld-Projekts manuell ein <meta-data /> Element hinzu, das auf die neue XML-Ressource verweist:

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

Weitere Informationen finden Sie auch in den manuellen Packanweisungen der Android-Entwicklerwebsite.