2017-12-12 2 views
0

나는 자 마린 내가 릴리스에서 컴파일 할 때 오류 릴리스 모드에서 응용 프로그램을 다음 던졌습니다 Xamarin.Android 내가 디버그 모드에서 실행할 때 잘 작동 응용 프로그램 (https://github.com/xamarinhq/app-evolve)를 형성하지만 있습니다.LinkAssemblies는 "작업이 예기치 않게

실패
error MSB4018: The "LinkAssemblies" task failed unexpectedly. 
error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void Android.Support.V7.View.WindowCallbackWrapper::n_OnProvideKeyboardShortcuts_Ljava_util_List_Landroid_view_Menu_I(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.Int32)' in assembly: 'Xamarin.Android.Support.v7.AppCompat.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Android.Views.KeyboardShortcutGroup 
error MSB4018: at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference) 
error MSB4018: at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 
error MSB4018: at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 
error MSB4018: at Mono.Linker.Steps.MarkStep.MarkGenericArguments(IGenericInstance instance) 
error MSB4018: at Mono.Linker.Steps.MarkStep.GetOriginalType(TypeReference type) 
error MSB4018: at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 
error MSB4018: at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 
error MSB4018: at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) 
error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) 
error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessQueue() 
error MSB4018: --- End of inner exception stack trace --- 
error MSB4018: at Mono.Linker.Steps.MarkStep.ProcessQueue() 
error MSB4018: at Mono.Linker.Steps.MarkStep.Process() 
error MSB4018: at Mono.Linker.Steps.MarkStep.Process(LinkContext context) 
error MSB4018: at Mono.Linker.Pipeline.Process(LinkContext context) 
error MSB4018: at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) 
error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 
error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute() 
error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 

내 최소 안드로이드 버전 및 대상 안드로이드 버전은 다음과 같습니다.

최소 및 대상 안드로이드 버전

image

+0

app compat v7에서 참조한 너겟을 계정하려면 API 레벨을 높여야 할 수 있습니다. https://stackoverflow.com/questions/44086909/the-linkassemblies-task-failed-unexpectedly-on-build-solution-in-release-mode –

답변

0

이 API는 API 24에서 소개되었으므로 컴파일 할 때 최소한의 API 24가 필요합니다. 이 방법을 포함하려면 <TargetFramework>을 7.0 이상으로 설정해야합니다.

https://developer.android.com/reference/android/view/Window.Callback.html#onProvideKeyboardShortcuts(java.util.List, android.view.Menu, int)

은 일반적인 팁으로, 당신은 당신이 사용하고있는 지원 라이브러리의 동일한 주요 버전으로 <TargetFramework> 설정이 있어야합니다. 예를 들어 지원 라이브러리의 v26을 사용하는 경우 API 26에 맞게 컴파일 할 수 있습니다.

+0

API 24로 설정하여 주셔서 감사합니다. 문제가 해결되었습니다. – Kishan

관련 문제