Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
AndroidX, Android Destek Kitaplığı'nın yerini alır. Bu makalede AndroidX'in neden var olduğu, uygulamasının üzerindeki etkisi Xamarin.Formsve uygulamanızı AndroidX kitaplıklarını kullanacak şekilde geçirme işlemleri açıklanmaktadır.
Önemli
Bir uygulamayı 5.0'a Xamarin.Forms geçiriyorsanız bkz. Uygulamamı 5.0'a Xamarin.Forms Nasıl yaparım? geçirme?
AndroidX geçmişi
Android Destek Kitaplığı, Android'in eski sürümlerinde daha yeni özellikler sağlamak için oluşturulmuştur. Geliştiricilerin Android işletim sisteminin tüm sürümlerinde mevcut olmayan ve eski sürümler için düzgün geri dönüşlere sahip olabilecek işlevleri kullanmasına olanak tanıyan bir uyumluluk katmanıdır. Destek Kitaplığı ayrıca kolaylık ve yardımcı sınıflar, hata ayıklama ve yardımcı program araçları ile çalışması için diğer Destek Kitaplığı sınıflarına bağımlı olan gelişmiş sınıfları içerir.
Destek Kitaplığı başlangıçta tek bir ikili olsa da, büyüdü ve modern uygulama geliştirme için neredeyse temel olan bir kitaplık paketine dönüştü. Destek Kitaplığı'ndan yaygın olarak kullanılan bazı özellikler şunlardır:
- Destek
Fragmentsınıfı. RecyclerViewuzun listeleri yönetmek için kullanılan .- 65.536'dan fazla yöntemi olan uygulamalar için Multidex desteği.
- Sınıfı
ActivityCompat.
AndroidX, artık bakım yapılmayan Destek Kitaplığı'nın yerine geçer. Tüm yeni kitaplık geliştirmeleri AndroidX kitaplığında gerçekleşir. AndroidX, anlamsal sürüm oluşturma, daha net paket adları ve yaygın uygulama mimarisi desenleri için daha iyi destek kullanan yeniden tasarlanmış bir kitaplıktır. AndroidX sürüm 1.0.0, Destek Kitaplığı sürüm 28.0.0 ile eşdeğer ikilidir. Destek Kitaplığı'ndan AndroidX'e sınıf eşlemelerinin tam listesi için bkz . developer.android.com'da Destek Kitaplığı sınıf eşlemeleri .
Google, AndroidX ile Jetifier adlı bir geçiş işlemi oluşturdu. Jetifier, derleme işlemi sırasında jar bayt kodunu inceler ve hem uygulama kodundaki hem de bağımlılıklardaki Destek Kitaplığı başvurularını AndroidX eşdeğerleriyle yeniden eşler.
Android Java uygulamasında olduğu gibi bir Xamarin.Forms uygulamada da jar bağımlılıkları AndroidX'e geçirilmelidir. Ancak, Xamarin bağlamaları da doğru, temel jar dosyalarına işaret etmek için geçirilmelidir. Xamarin.Forms sürüm 4.5'te otomatik AndroidX geçişi desteği eklendi.
AndroidX hakkında daha fazla bilgi için bkz . developer.android.com üzerinde AndroidX'e genel bakış .
uygulamasında otomatik geçiş Xamarin.Forms
AndroidX'e otomatik olarak geçiş yapmak için bir Xamarin.Forms Android platformu projesinin şunları yapması gerekir:
- Hedef Android API sürümü 29 veya üzeri.
- Sürüm 4.5 veya üzerini kullanın Xamarin.Forms .
- Android destek kitaplıklarında doğrudan veya geçişli bağımlılıklara sahip olun.
Projenizde bu ayarları onayladıktan sonra, Android uygulamasını Visual Studio 2019'da derleyin. Derleme işlemi sırasında Ara Dil (IL) incelenir ve Destek Kitaplığı bağımlılıkları ve bağlamaları AndroidX bağımlılıklarıyla değiştirilir. Uygulamanızda derlemek için gereken tüm AndroidX bağımlılıkları varsa derleme işleminde hiçbir fark fark etmezsiniz.
Önemli
AndroidX'e el ile geçiş uygulamanız için en hızlı derleme işlemine neden olur ve AndroidX geçişi için önerilen yaklaşımdır. Bu, destek kitaplığı bağımlılıklarını AndroidX bağımlılıklarıyla değiştirmeyi ve kodunuzu AndroidX türlerini kullanacak şekilde güncelleştirmeyi içerir. Daha fazla bilgi için bkz . AndroidX türlerini kullanma.
Projenin parçası olmayan AndroidX bağımlılıkları algılanırsa, hangi AndroidX paketlerinin eksik olduğunu gösteren bir derleme hatası bildirilir. Aşağıda örnek bir derleme hatası gösterilmiştir:
Could not find 37 AndroidX assemblies, make sure to install the following NuGet packages:
- Xamarin.AndroidX.Lifecycle.LiveData
- Xamarin.AndroidX.Browser
- Xamarin.Google.Android.Material
- Xamarin.AndroidX.Legacy.Supportv4
You can also copy and paste the following snippit into your .csproj file:
<PackageReference Include="Xamarin.AndroidX.Lifecycle.LiveData" Version="2.1.0-rc1" />
<PackageReference Include="Xamarin.AndroidX.Browser" Version="1.0.0-rc1" />
<PackageReference Include="Xamarin.Google.Android.Material" Version="1.0.0-rc1" />
<PackageReference Include="Xamarin.AndroidX.Legacy.Support.V4" Version="1.0.0-rc1" />
Eksik NuGet paketleri Visual Studio'daki NuGet Paket Yöneticisi aracılığıyla yüklenebilir veya Android .csproj dosyanız hatada listelenen XML öğelerini içerecek PackageReference şekilde düzenlenerek yüklenebilir.
Eksik paketler çözümlendikten sonra projeyi yeniden derlemek eksik paketleri yükler ve projeniz Destek Kitaplığı bağımlılıkları yerine AndroidX bağımlılıkları kullanılarak derlenir.
Not
Projeniz ve proje bağımlılıklarınız Android Destek Kitaplıklarına başvurmuyorsa, geçiş işlemi hiçbir şey yapmaz ve yürütülmüyor.