Tworzenie aplikacji platformy Xamarin dla systemu Android

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Aby rozpocząć tworzenie pierwszej aplikacji platformy Xamarin dla systemu Android, musisz:

  1. Połącz się z kontem usługi repozytorium (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Wybierz repozytorium i gałąź, w której znajduje się aplikacja.
  3. Wybierz projekt systemu Android, który chcesz skompilować.
  4. Skonfiguruj pierwszą kompilację.

Uwaga

Aby aplikacja działała na rzeczywistym urządzeniu, należy podpisać kompilację przy użyciu prawidłowego magazynu kluczy.

1. Łączenie repozytorium

Jeśli wcześniej nie nawiązaliśmy połączenia z kontem usługi repozytorium, musisz to zrobić najpierw. Po nawiązaniu połączenia konta wybierz repozytorium, w którym znajduje się projekt platformy Xamarin. Aby skonfigurować kompilację dla repozytorium, musisz mieć uprawnienia administratora i ściągania.

2. Wybieranie gałęzi

Po wybraniu repozytorium wybierz gałąź, którą chcesz skompilować. Domyślnie centrum aplikacji wyświetla listę wszystkich aktywnych gałęzi.

3. Konfigurowanie kompilacji

Przed pierwszą kompilacją należy skonfigurować projekt platformy Xamarin.

3.1. Wyzwalacze kompilacji

Domyślnie usługa kompilacji używa ciągłej integracji, więc nowa kompilacja jest wyzwalana za każdym razem, gdy deweloper wypycha do skonfigurowanej gałęzi. Jeśli wolisz ręcznie wyzwalać nowe kompilacje, możesz zmienić to ustawienie w okienku konfiguracji.

3.2. Projekt i konfiguracja

Dostępne projekty w repozytorium zostaną wypełnione, jeśli znajdują się w zakresie analizy. Wybierz odpowiedni projekt dla kompilacji systemu Android i wybierz odpowiednią konfigurację.

Uwaga

Aby uzyskać najlepszą wydajność, analiza jest obecnie ograniczona do czterech poziomów katalogu, w tym katalogu głównego repozytorium.

3.3. Wersja mono

Usługa App Center umożliwia korzystanie z różnych środowisk Mono dołączonych do odpowiedniego zestawu SDK platformy Xamarin.Android dla kompilacji. Dzięki temu zachowamy zgodność z poprzednimi wersjami, a także obsługujemy najnowsze funkcje. Domyślna wersja mono dla nowej konfiguracji gałęzi to najnowsza stabilna wersja. Możesz użyć jednego z poprzednich środowisk Mono do tworzenia starszych wersji platform lub bibliotek.

Podczas wybierania wersji mono w konfiguracji kompilacji obok niej wyświetlana jest dołączona wersja zestawu SDK platformy Xamarin.Android. Aby uzyskać więcej informacji na temat aktualizacji wersji zestawu Xamarin SDK, przeczytaj blog dotyczący wersji platformy Xamarin.

3.3.1. Wersja platformy .NET Core

Właściwa wersja platformy .NET Core zostanie wybrana automatycznie na podstawie wersji mono używanej do kompilacji i nie można jej zastąpić. Mapowanie platformy Mono na platformę .NET Core używaną przez nasze usługi można wyświetlić w poniższej tabeli:

Mono .NET Core
<= 5,18 2.2.105
6.0 2.2.300
6.4 3.0.100
6.6 3.1.100
6.8 3.1.200
6.10 3.1.300
6.12 3.1.401

3.4. Tworzenie pakietu aplikacji systemu Android (aab)

Pakiet aplikacji systemu Android to format dystrybucji używany do generowania zoptymalizowanych zestawów API dla określonych urządzeń. Można go przekazać do Sklepu Play. Więcej informacji na temat pakietu aplikacji systemu Android można znaleźć w oficjalnej dokumentacji systemu Android oraz informacje o wersji platformy Xamarin.Android 9.4, które mogą również pomóc w podjęciu decyzji, czy chcesz utworzyć pakiet wraz z regularnymi wersjami .apk.

Przełącz opcję dla pakietu aplikacji systemu Android, aby utworzyć element .aab i ..apk .csproj Jeśli plik zawiera aab właściwość AndroidPackageFormat , ta opcja zostanie automatycznie włączona. Kompilowanie elementu .aab jest obsługiwane dla platformy Xamarin.Android 9.4 lub nowszej.

3.5. Numer wersji przyrostowej

Po włączeniu kod wersji w AndroidManifest.xml aplikacji automatycznie zwiększa się dla każdej kompilacji. Zmiana odbywa się wstępnie w kompilacji i nie zostanie zatwierdzona w repozytorium.

3.6. Podpisywanie kodu

Pomyślna kompilacja spowoduje utworzenie .apk pliku i dodatkowego .aab pliku w przypadku włączenia. Aby wydać kompilację do Sklepu Play, musi być podpisana przy użyciu prawidłowego magazynu kluczy i aliasu. Aby podpisać kompilacje utworzone z gałęzi, włącz podpisywanie kodu w okienku konfiguracji, przekaż magazyn kluczy i podaj wartości potrzebne w okienku konfiguracji. Możesz przeczytać bardziej szczegółowe instrukcje dotyczące podpisywania kodu. Zostanie .aab podpisany przy użyciu tych samych poświadczeń co .apk.

3.7. Uruchamianie udanej kompilacji na rzeczywistym urządzeniu

Użyj nowo utworzonego .apk pliku, aby sprawdzić, czy aplikacja zostanie uruchomiona na rzeczywistym urządzeniu. Spowoduje to dodanie około 10 minut do całkowitego czasu kompilacji. Więcej informacji znajduje się w naszym przewodniku dotyczącym integracji testowej.

3.8. Przywracanie nuGet

NuGet.config Jeśli plik jest zaewidencjonowany w repozytorium i znajduje się obok .sln pliku lub na poziomie głównym repozytorium, centrum aplikacji przywraca prywatne kanały informacyjne NuGet po dodaniu, jak pokazano w poniższym przykładzie. Poświadczenia można bezpiecznie dodać przy użyciu zmiennych środowiskowych:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="MyGet" value="https://www.myget.org/F/MyUsername/api/v2/index.json" />
    <add key="MyAuthNuget" value="https://nuget.example.com/v2/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyAuthNuget>
      <add key="Username" value="$USER_VARIABLE" />
      <add key="ClearTextPassword" value="$PASSWORD_VARIABLE" />
    </MyAuthNuget>
  </packageSourceCredentials>
</configuration>

Jeśli masz złożone konfiguracje i potrzebujesz więcej informacji, zapoznaj się z tematem Konfigurowanie zachowania narzędzia NuGet.

3.9. Dystrybucja kompilacji

Można skonfigurować każdą pomyślną kompilację z gałęzi, która ma być dystrybuowana do wcześniej utworzonej grupy dystrybucyjnej lub miejsca docelowego magazynu. Możesz dodać nową grupę dystrybucyjną lub skonfigurować połączenie magazynu z poziomu usługi rozproszonej. Zawsze istnieje domyślna grupa dystrybucyjna o nazwie "Współpracownicy", która obejmuje wszystkich użytkowników, którzy mają dostęp do aplikacji.

Uwaga

W przypadku dystrybucji do Sklepu Google Play preferowany jest pakiet aplikacji systemu Android (.aab) i będzie dystrybuowany, jeśli jest włączony. W przypadku grup dystrybucyjnych usługi App Center i Intune miejscach docelowych sklepu regularne będą używane nawet wtedy, .apk gdy .aab jest również generowany.

4. Wyniki kompilacji

Po wyzwoleniu kompilacji kompilacja będzie znajdować się w jednym z następujących stanów:

  • queued — kompilacja znajduje się w kolejce oczekującej na zwolnienie zasobów.
  • building — kompilacja jest uruchomiona.
  • succeeded — kompilacja została ukończona pomyślnie.
  • failed — kompilacja została zatrzymana z błędami. Aby rozwiązać problemy, możesz pobrać i sprawdzić dziennik kompilacji.
  • anulowano — kompilacja została anulowana przez akcję użytkownika lub upłynął limit czasu.

4.1. Dzienniki kompilacji

W przypadku ukończonej kompilacji (zakończonej powodzeniem lub niepowodzeniem) pobierz dzienniki, aby dowiedzieć się więcej na temat sposobu działania kompilacji. Usługa App Center udostępnia archiwum z następującymi plikami:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Dzienniki kroku kompilacji (znajdujące się w build/ katalogu archiwum) są przydatne do zrozumienia, w jakim kroku i dlaczego kompilacja nie powiodła się.

4.2. Aplikacja (.apk)

Plik .apk jest spakowanym plikiem aplikacji systemu Android, który przechowuje aplikację dla systemu Android. Jeśli kompilacja została poprawnie podpisana, .apk plik można zainstalować na rzeczywistym urządzeniu i wdrożyć w Sklepie Play. Jeśli kompilacja nie została podpisana, aplikacja może działać w emulatorze lub być używana do innych celów.

Obsługiwane wersje i wymagania

Usługa App Center obsługuje projekty Biblioteki klas przenośnych (PCL) i .NET Standard . Zapoznaj się z tematem Cloud Build Machines for versions of .NET Standard ( Maszyny kompilacji w chmurze ), aby zapoznać się z wersjami platformy .NET Standard.

Usługa App Center nie obsługuje składników ze sklepu składników Xamarin i zalecamy korzystanie z pakietów NuGet za każdym razem, gdy są dostępne. Jeśli używasz składnika, którego nie można zamienić, skontaktuj się z nami. Zobacz pomoc i opinie.