2016-10-28 2 views
0

저는 다소 복잡한 응용 프로그램을 가지고 있으며, 이제는 내 응용 프로그램이 AndroidManifest.xml에 더 많은 권한을 요청한다는 사실을 알게되었습니다. 내 App.Droid 디버그 obj 맵에는 AndroidManifest.xml 버전이 있습니다 (이것은 릴리스 빌드의 파일이기도합니다). 예를 들어 계정 권한이 표시되지만 해당 기능을 사용하고 있지 않습니다.Xamarin Forms (Core/Portable)이 더 많은 Android 권한을 생성합니다.

누구나 어디에서 왔으며 어떻게 줄일 수 있습니까? 미리 감사드립니다.

+0

사용중인 Nugets/3rd-party 라이브러리와 필요한 것들이 필요합니다. 'Accounts' 권한의 경우는 사용자 ID/패스워드 등을 저장하는 라이브러리에서 온 것일 수도 있습니다 ... – SushiHangover

답변

0

내가 할 수있는 두 가지 사항은 해당 사용 권한을 요청한 코드와 라이브러리에 추가 한 어셈블리 주석입니다.

전자는 해결책을 assembly: Permissionassembly: UsesPermission으로 검색하십시오. 그러면 코드에 추가 한 내용이 표시됩니다.

라이브러리가하는 일을 찾아내는 한, 수동으로 자신의 문서를 보는 것이 아닌 다른 방법을 찾는 좋은 방법을 모른다. 예를 들어 GCM 플러그인은 자동으로 GET_ACCOUNTS 권한을 추가합니다.

Android 설명서에 따르면 AndroidManifest.xml 파일에 다음을 추가하여 해당 권한 요청을 제거 할 수 있지만 어떤 이유에서든 작동하지 않습니다 (tools:node="remove" 참고). 아래 내용이 적용되지 않는지 확실하지 않습니다. 플러그인이나 어떤 문제 것은이었다 당신이 tools:node 방법을 시도하는 경우

<uses-permission android:name="android.permission.GET_ACCOUNTS" tools:node="remove" /> 

,하여 manifest 태그에 다음을 추가해야합니다 : 그것은 당신을 위해 작동하는 경우

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      ...> 

을 알려주세요!

+0

늦은 코멘트에 대해 죄송합니다. 그냥 금요일 만 해봐. 도구 : 노드가 "최종"목록에있는 것처럼 보이지만 권한은 appmanager> permissions> more permissions에 계속 표시됩니다. 그래서 제거되지 않습니다 ... 지금은 패키지를 제거하고 오류없이 빌드되는지 확인합니다. 다른 아이디어가 있으면 알려주십시오. – genie137

+1

안타깝게도 Xmanan 플랫폼에서 Android 매니페스트 병합 도구를 사용할 수 없습니다. https://bugzilla.xamarin.com/show_bug.cgi?id=48153 –

+0

@KenSykora 정보에 대해 너무 고마워 !! 내가 뭔가 잘못하고 있다고 생각 했어. 그들이 버그를 수정하거나 기능을 추가하는 경우이 게시물을 업데이트하려고합니다. – hvaughan3