2017-07-31 70 views
0

我有一个Media Plugin的问题。 如果编译目标是Android 6.0,它可以在我的设备中的调试模式下正常运行,即V 5.0.1。问题是,当我在Release模式编译我收到此错误:Xamarin MediaPlugin和不同的Android版本

> Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'Android.Views.KeyboardShortcutGroup' (defined in assembly 'Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null') with scope 'Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065'. When the scope is different from the defining assembly, it usually means that the type is forwarded. ---> Mono.Cecil.ResolutionException: Failed to resolve Android.Views.KeyboardShortcutGroup 
    in Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 
    in MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 
    in Mono.Linker.Steps.MarkStep.MarkGenericArguments(IGenericInstance instance) 
    in Mono.Linker.Steps.MarkStep.GetOriginalType(TypeReference type) 
    in Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 
    in MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 
    in Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) 
    in Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) 
    in Mono.Linker.Steps.MarkStep.ProcessQueue() 
    in Mono.Linker.Steps.MarkStep.Process() 
    in Mono.Linker.Steps.MarkStep.Process(LinkContext context) 
    in MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context) 
    in Mono.Linker.Pipeline.Process(LinkContext context) 
    in MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) 
    in Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 

read,如果我将更新编译版本的Android 7(API 24),问题就解决了,但在这之后我的行动按钮不能正常工作。当我点击按钮打开相机我收到此错误:

Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference 

我可以做什么?谢谢!

+0

你试过同时更新所有的Android支持库的NuGet包? –

+0

它全部更新到最新版本 – TeoVr81

+0

我建议创建一个全新的项目,将所有库更新到最新版本,安装Media Plugin并正确设置项目属性(将Target Android版本和编译版本设置为Android 7.0或7.1) 。然后看看你是否仍然遇到同样的问题。您也可以尝试关闭链接器,看看问题是否仍然存在。 – hvaughan3

回答

0

我想我找到了一个解决方案: 我打开了AndroidManifest.xml文件,并删除了android target版本属性。

现在我只有:

的Android版本编译:7.1 的Android版本miminal:4.1