xamarin android支持库v7和v13在同一个应用程序中

时间:2013-12-31 14:08:19

标签: c# android xamarin.android xamarin

直到今天,我一直在我的应用程序中使用支持库v13。现在我还需要使用支持库v7。

我将它们添加到我的应用中,但我遇到了一些问题。

  1. 在第一次编译时,我遇到了很多关于未找到资源的错误。 我通过将api级别设置为15并将min设置为8来解决此问题。这是在stackoverflow上建议的。 有人可以解释为什么需要它吗?

    2.现在我收到一些错误,说找到了重复的托管类型!托管类型和Java类型之间的映射必须是唯一的。 First Type:'Android.Support.V4.Content.Loader / IOnLoadCompleteListenerImplementor,Xamarin.Android.Support.v13,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null';第二种类型:'Android.Support.V4.Content.Loader / IOnLoadCompleteListenerImplementor,Xamarin.Android.Support.v4,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'。

    我想这是因为v13 allready有一些来自v4和v7引用v4的类型。 有什么想法吗?

1 个答案:

答案 0 :(得分:4)

来自http://developer.android.com/tools/support-library/features.html

v4支持库:

此库旨在与Android 1.6(API级别4)及更高版本一起使用。与其他库相比,它包括最大的API集,包括对应用程序组件,用户界面功能,可访问性,数据处理,网络连接和编程实用程序的支持。以下是v4库中包含的一些关键类:

v7支持库:

有几个库设计用于Android 2.1(API级别7)及更高版本。这些库提供特定的功能集,可以彼此独立地包含在您的应用程序中。

v8支持库:

此库旨在与Android(API级别8)及更高版本一起使用。它增加了对RenderScript计算框架的支持。这些API包含在android.support.v8.renderscript包中。您应该知道,在您的应用程序中包含这些API的步骤与其他支持库API非常不同。有关在应用程序中使用这些API的更多信息,请参阅RenderScript开发人员指南。

v13支持库:

此库旨在用于Android 3.2(API级别13)及更高版本。它使用(FragmentCompat)类和其他片段支持类添加了对Fragment用户界面模式的支持。有关片段的更多信息,请参阅Fragments开发人员指南。有关v13支持库API的详细信息,请参阅API参考中的android.support.v13包。

如果您查看错误,则会导致两个依赖项冲突,因为您同时导入了v4和v13。你可以在这里看到他们有类似的类:

http://developer.android.com/reference/android/support/v4/app/package-summary.html http://developer.android.com/reference/android/support/v13/app/package-summary.html

你应该使用v4代表min-sdk = 4-12 和v13代表min-sdk = 13 +

虽然您可以在Android的较低API版本中使用v13,但您的应用程序将在任何< 12 API上崩溃。只要不与v4发生冲突,你应该可以使用v7和v13。

修改 这是一个解释最近出现的android支持库的视频 http://xamarin.wistia.com/medias/guqtgpdqms

源代码: https://github.com/jamesmontemagno/Xamarin.Android-AppCompat

来源: Xamarin