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:
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.
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.
Klicken Sie mit der rechten Maustaste auf den Knoten Verweise, und wählen Sie Verweis hinzufügen aus.
Aktivieren Sie im Dialogfeld Verweis-Manager Ihr Wear-Projekt (klicken Sie, um ein Häkchen hinzuzufügen), und klicken Sie dann auf OK.
Ä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:
Stellen Sie sicher, dass Ihr Wearable-Projekt und Ihr Handheld-Projekt (Telefon) die gleiche Versionsnummer und den gleichen Paketnamen haben.
Erstellen Sie das Wearable-Projekt manuell als Releasebuild .
Fügen Sie das Release manuell hinzu . APK aus Schritt (2) in das Verzeichnis Resources/raw des Handheld-Projekts (Telefon).
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>
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.