Membangun aplikasi Xamarin untuk Android

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Untuk mulai membangun aplikasi Android Xamarin pertama Anda, Anda harus:

  1. Sambungkan ke akun layanan repositori Anda (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Pilih repositori dan cabang tempat aplikasi Anda berada.
  3. Pilih proyek Android yang ingin Anda buat.
  4. Siapkan build pertama Anda.

Catatan

Agar aplikasi berjalan pada perangkat nyata, Anda harus menandatangani build dengan KeyStore yang valid.

1. Menautkan repositori Anda

Jika sebelumnya Anda belum tersambung ke akun layanan repositori, Anda harus melakukan ini terlebih dahulu. Setelah akun Anda tersambung, pilih repositori tempat proyek Xamarin Anda berada. Anda harus memiliki admin dan menarik izin untuk menyiapkan build untuk repositori.

2. Memilih cabang

Setelah memilih repositori, pilih cabang yang ingin Anda bangun. Secara default, App Center mencantumkan semua cabang aktif.

3. Mengonfigurasi Build Anda

Proyek Xamarin harus dikonfigurasi sebelum build pertama Anda.

3.1. Membangun pemicu

Secara default, layanan build menggunakan Integrasi Berkelanjutan, sehingga build baru dipicu setiap kali pengembang mendorong ke cabang yang dikonfigurasi. Jika Anda lebih suka memicu build baru secara manual, Anda bisa mengubah pengaturan ini di panel konfigurasi.

3.2. Proyek dan Konfigurasi

Proyek yang tersedia di repositori Anda akan terisi jika berada dalam rentang analisis. Pilih project yang benar untuk build Android Anda dan pilih konfigurasi yang sesuai.

Catatan

Untuk performa terbaik, analisis saat ini terbatas pada empat tingkat direktori termasuk akar repositori Anda.

3.3. Versi mono

App Center memungkinkan penggunaan lingkungan Mono yang berbeda yang dibundel dengan Xamarin.Android SDK masing-masing untuk build Anda. Dengan cara ini kami mempertahankan kompatibilitas mundur sekaligus mendukung fitur terbaru. Versi Mono default untuk konfigurasi cabang baru adalah versi stabil terbaru. Anda dapat memilih untuk menggunakan salah satu lingkungan Mono sebelumnya untuk membangun versi kerangka kerja atau pustaka yang lebih lama.

Saat memilih versi Mono dalam konfigurasi build, versi Xamarin.Android SDK yang dibundel ditampilkan tepat di sebelahnya. Untuk informasi selengkapnya tentang pembaruan versi Xamarin SDK, baca blog rilis Xamarin.

3.3.1. Versi .NET Core

Versi .NET Core yang tepat akan dipilih secara otomatis berdasarkan versi Mono yang digunakan untuk build dan tidak dapat ditimpa. Anda dapat melihat pemetaan Mono ke .NET Core yang digunakan oleh layanan kami dalam tabel di bawah ini:

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. Build Android App Bundle (.aab)

Android App Bundle adalah format distribusi yang digunakan untuk menghasilkan APK yang dioptimalkan untuk perangkat tertentu. Ini dapat diunggah ke Play Store. Anda dapat mengetahui lebih lanjut tentang Android App Bundle dalam dokumentasi Android resmi, dan catatan rilis Xamarin.Android 9.4, yang juga dapat membantu Anda memutuskan apakah Anda ingin membuat bundel bersama dengan reguler Anda .apk.

Alihkan opsi untuk Bundel Aplikasi Android untuk menghasilkan .aab dan .apk. .csproj Jika file berisi aab di AndroidPackageFormat properti , opsi ini akan secara otomatis diaktifkan. .aab Membangun didukung untuk Xamarin.Android 9.4 dan yang lebih tinggi.

3.5. Nomor versi kenaikan

Saat diaktifkan, kode versi di AndroidManifest.xml aplikasi Anda secara otomatis meningkat untuk setiap build. Perubahan terjadi sebelum build dan tidak akan diterapkan pada repositori Anda.

3.6. Penandatanganan kode

Build yang .apk berhasil akan menghasilkan file dan file tambahan .aab jika diaktifkan. Untuk merilis build ke Play Store, build harus ditandatangani dengan Keystore dan Alias yang valid. Untuk menandatangani build yang dihasilkan dari cabang, aktifkan penandatanganan kode di panel konfigurasi, unggah Keystore Anda, dan berikan nilai yang diperlukan di panel konfigurasi. Anda dapat membaca instruksi penandatanganan kode yang lebih rinci. .aab akan ditandatangani menggunakan kredensial yang sama dengan .apk.

3.7. Luncurkan build sukses Anda pada perangkat nyata

Gunakan file yang baru diproduksi .apk untuk menguji apakah aplikasi Anda dimulai di perangkat nyata. Ini menambahkan sekitar 10 menit lagi ke total waktu build. Ada informasi lebih lanjut dalam panduan integrasi pengujian kami.

3.8. Pemulihan NuGet

NuGet.config Jika file dicek masuk ke repositori dan duduk di samping .sln file atau di tingkat akar repositori Anda, App Center memulihkan umpan NuGet privat Anda saat ditambahkan seperti yang ditunjukkan pada contoh di bawah ini. Kredensial dapat ditambahkan dengan aman dengan menggunakan variabel lingkungan:

<?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>

Jika Anda memiliki konfigurasi yang kompleks dan memerlukan informasi lebih lanjut, lihat Mengonfigurasi perilaku NuGet.

3.9. Mendistribusikan build

Anda dapat mengonfigurasi setiap build yang berhasil dari cabang untuk didistribusikan ke grup distribusi yang dibuat sebelumnya atau tujuan penyimpanan. Anda dapat menambahkan grup distribusi baru atau mengonfigurasi koneksi penyimpanan dari dalam layanan Distribusi. Selalu ada grup distribusi default yang disebut "Kolaborator" yang mencakup semua pengguna yang memiliki akses ke aplikasi.

Catatan

Jika mendistribusikan ke Google Play Store, Android App Bundle (.aab) lebih disukai dan akan didistribusikan jika diaktifkan. Untuk grup distribusi App Center dan Intune tujuan penyimpanan, reguler .apk akan digunakan bahkan jika .aab juga dihasilkan.

4. Hasil build

Setelah build memicu, build akan berada di salah satu status berikut:

  • diantrekan - build dalam antrean menunggu sumber daya dibebaskan.
  • building - build sedang berjalan.
  • berhasil - build berhasil diselesaikan.
  • gagal - build berhenti dengan kegagalan. Anda dapat memecahkan masalah apa yang salah dengan mengunduh dan memeriksa log build.
  • dibatalkan - build dibatalkan oleh tindakan pengguna atau waktunya habis.

4.1. Log build

Untuk build yang telah selesai (berhasil atau gagal), unduh log untuk memahami lebih lanjut tentang cara build berjalan. App Center menyediakan arsip dengan file berikut:

|-- 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)

Log langkah build (terletak di build/ direktori arsip) sangat membantu untuk memahami langkah mana dan mengapa build gagal.

4.2. Aplikasi (.apk)

File .apk adalah file paket aplikasi Android yang menyimpan aplikasi Android. Jika build telah ditandatangani dengan benar, .apk file dapat diinstal pada perangkat nyata dan disebarkan ke Play Store. Jika build belum ditandatangani, aplikasi dapat berjalan di emulator atau digunakan untuk tujuan lain.

Versi dan persyaratan yang didukung

App Center mendukung proyek Portable Class Library (PCL) dan .NET Standard . Lihat Cloud Build Machines untuk versi .NET Standard.

App Center tidak mendukung Komponen dari Xamarin Component Store dan kami menyarankan untuk menggunakan paket NuGet setiap kali tersedia. Jika Anda menggunakan Komponen yang tidak dapat diganti, hubungi kami. Lihat bantuan dan umpan balik.