앱이 다른 앱과의 상호작용을 사용하여 사용 사례를 완료하는 경우 Android 11(API 수준 30) 이상에서 패키지 공개 상태 변경사항이 앱에 미치는 영향을 테스트하는 것이 좋습니다.
또한 이 가이드에서는 동작 변경사항을 테스트하는 방법에 관한 몇 가지 제안사항을 제공하고 앱에 미칠 수 있는 영향을 보다 상세히 확인하도록 로그 메시지를 구성하는 방법을 제공합니다.
동작 변경사항 테스트
이 동작 변경사항이 앱에 영향을 미치는지 테스트하려면 다음 단계를 완료하세요.
- Android 스튜디오 3.6.1 이상을 설치합니다.
- Android 스튜디오에서 지원하는 최신 버전의 Gradle을 설치합니다.
- 앱의
targetSdkVersion
을30
이상으로 설정합니다. - 앱의 매니페스트 파일에
<queries>
요소를 포함하지 않습니다. getInstalledApplications()
또는getInstalledPackages()
를 호출합니다. 두 메서드 모두 성공 시 필터링된 목록을 반환합니다.- 작동하지 않는 앱 기능을 확인합니다.
- 적절한
<queries>
항목을 도입하여 이러한 기능을 수정합니다.
패키지 필터링의 로그 메시지 구성
앱의 기본 공개 상태가 앱에 미치는 영향을 자세히 알아보려면 패키지 필터링의 로그 메시지를 사용 설정하면 됩니다. Android 스튜디오에서 테스트 앱 또는 디버그 가능한 앱을 개발하고 있다면 시스템 로그에서 이 기능을 자동으로 제공합니다. 그 외에는 터미널 창에서 다음 명령어를 실행하여 수동으로 사용 설정할 수 있습니다.
adb shell pm log-visibility --enable PACKAGE_NAME
그러면 패키지가 PackageManager
객체의 반환 값에서 필터링될 때마다 Logcat에 다음과 유사한 메시지가 표시됩니다.
I/AppsFilter: interaction: PackageSetting{7654321 \ com.example.myapp/12345} -> PackageSetting{...} BLOCKED