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

use*_*483 6 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的类型.任何的想法?

Jon*_*las 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

对于 min-sdk = 4-12 ,您应该使用 v4 ;对于 min-sdk = 13+ ,您应该使用 v13

尽管您可以在较低 API 版本的 Android 中使用 v13,但您的应用程序将在任何 <12 API 上崩溃。只要不与 v4 冲突,您应该可以很好地使用 v7 和 v13。

编辑: 这是一个解释最近发布的 Android 支持库的视频 http://xamarin.wistia.com/medias/guqtgpdqms

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

来源:Xamarin