將 Xamarin.Android 專案遷移到 AndroidX 并且不得不更新一些包。現在我無法構建我的專案并收到以下錯誤訊息:
`javax.inject.Named` generated by: JavaX.Inject.INamed, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Scope` generated by: Javax.Inject.IScope, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Qualifier` generated by: JavaX.Inject.IQualifier, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The Java type `javax.inject.Inject` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
`javax.inject.Provider` generated by: JavaX.Inject.IProvider, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Inject` generated by: JavaX.Inject.IInject, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Qualifier` generated by: Javax.Inject.IQualifier, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The Java type `javax.inject.Provider` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
`javax.inject.Scope` generated by: JavaX.Inject.IScope, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Named` generated by: Javax.Inject.INamed, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The Java type `javax.inject.Scope` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
`javax.inject.Provider` generated by: Javax.Inject.IProvider, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Singleton` generated by: JavaX.Inject.ISingleton, Xamarin.JavaX.Inject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
`javax.inject.Inject` generated by: Javax.Inject.IInject, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The Java type `javax.inject.Named` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
The Java type `javax.inject.Qualifier` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
`javax.inject.Singleton` generated by: Javax.Inject.ISingleton, Scanbot.Xamarin.SDK.Dependencies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
The Java type `javax.inject.Singleton` is generated by more than one managed type. Please change the [Register] attribute so that the same Java type is not emitted.
請建議如何修復或如何更改 [Register] 屬性以及需要在何處完成。我無法洗掉這些包,其他包依賴于它們。
uj5u.com熱心網友回復:
在之后的遷移,我們需要做的情景工具不包括一些手動命名空間的變化。
AndroidX 替換了Android support libraries,因此對 Android 支持庫型別的任何參考都必須替換為對 AndroidX 型別的參考。
下表顯示了命名空間的變化
| Android 支持庫命名空間 | AndroidX 命名空間 |
|---|---|
| Android.Support.V4.App | AndroidX.Core.App |
| Android.Support.V4.Content | AndroidX.Core.Content |
| Android.Support.V4.App | AndroidX.Fragment.App |
| Android.Support.V7.App | AndroidX.AppCompat.App |
| Android.Support.V7.Widget | AndroidX.AppCompat.Widget |
更多:https : //github.com/xamarin/AndroidX/blob/main/mappings/androidx-class-mapping.csv。
有關更多詳細資訊,請參閱鏈接:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/troubleshooting/questions/forms5-migration#use-androidx-types
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/android/androidx-migration
更新
洗掉所有包并在專案中重新添加它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/391097.html
標籤:沙马林 xamarin.forms 安卓系统 安卓x
