KeiStory

.NET MAUI 에러 - INSTALL_FAILED_CONFLICTING_PROVIDER

 

패키지명칭을 바꾸고 기기로 디버깅하는데 아래와 같은 에러가 발생되었습니다.

심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 ADB0010: Mono.AndroidTools.InstallFailedException: Failure [INSTALL_FAILED_CONFLICTING_PROVIDER: Scanning Failed.: Can't install because provider name {your_app_id}.fileprovider (in package kr.kjun.visiontest) is already used by com.companyname.maui.visiontest]
   위치: Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Mono.AndroidTools/Internal/AdbOutputParsing.cs:줄 353
   위치: Syste m.Threading.Tasks.Task.Execute() 
--- 예외가 throw된 이전 위치의 스택 추적 끝 ---
   위치: Syste m.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   위치: AndroidDeviceExtensions.d__12.MoveNext() 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Devices/AndroidDeviceExtensions.cs:줄 206

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---
   위치: Syste m.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
   위치: AndroidDeviceExtensions.d__12.MoveNext() 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/external/androidtools/Xamarin.AndroidTools/Devices/AndroidDeviceExtensions.cs:줄 223

--- 예외가 throw된 이전 위치의 스택 추적 끝 ---
   위치: Syste m.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   위치: Xamarin.Android.Tasks.FastDeploy.d__106.MoveNext() 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/Tasks/FastDeploy.cs:줄 351
--- 예외가 throw된 이전 위치의 스택 추적 끝 ---
   위치: Syste m.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
   위치: Xamarin.Android.Tasks.FastDeploy.d__106.MoveNext() 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/Tasks/FastDeploy.cs:줄 368
--- 예외가 throw된 이전 위치의 스택 추적 끝 ---
   위치: Syste m.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
   위치: System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   위치: Xamarin.Android.Tasks.FastDeploy.d__100.MoveNext() 파일 /Users/runner/work/1/s/xamarin-android/external/monodroid/tools/msbuild/Tasks/FastDeploy.cs:줄 216   0

이 에러는 다음과 같은 상황에서 주로 발생한다고 합니다.

  1. 패키지 이름 충돌
    여러 애플리케이션이 동일한 package name을 공유하고 있을 때 발생할 수 있습니다. 이는 일반적으로 앱의 AndroidManifest.xml 파일에서 정의된 authorities 속성 때문입니다.
  2. Content Provider의 authorities 속성 중복
    .NET MAUI 앱의 경우, ContentProvider는 데이터 접근을 위해 사용됩니다. authorities는 고유해야 하지만, 동일한 이름이 두 앱에서 사용되면 Android는 설치를 거부합니다.

  3. 앱 설치 테스트 중 잔존 데이터 문제
    이전에 설치했던 앱의 데이터가 삭제되지 않으면 새로운 앱과 충돌을 일으킬 수 있습니다. 특히, 동일한 디바이스나 에뮬레이터에서 같은 프로젝트를 빌드 후 여러 번 설치하는 경우 문제가 발생합니다.

  4. 외부 라이브러리 간 충돌
    외부 라이브러리를 사용하는 경우, 동일한 authorities 이름을 사용하는 두 개 이상의 라이브러리가 있으면 충돌이 일어날 수 있습니다.

 

저 같은 경우는 패키지 명을 바꾸면서 위 모든 경우에 해당이 되면서 에러가 났던거 같습니다.

테스트 기기의 앱을 삭제 하고 다시 실행하니 문제가 없이 실행되었습니다.

파일 접근을 위해 FileProvider 를 file_paths.xml 에 정의하여 사용했는데 기존것과 패키지이름 바꾼 것과 충돌이 난 것으로 보입니다.

패키지 명을 바꾸는 경우 조심해야겠네요

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band