앱의 새 버전을 Google Play Console에 업로드했다. 그런데 다음 오류가 두 번 연달아 표시됐다.
버전에 Play Console에서 선언되지 않은
android.permission.BIND_ACCESSIBILITY_SERVICE권한이 포함되어 있습니다.
새 AAB에서는 이미 isAccessibilityTool=true 설정을 제거한 상태였다. 병합된 매니페스트를 확인해봐도 접근성 서비스는 하나만 존재했다. 처음에는 빌드 문제이거나 권한 설정을 잘못 건드린 것으로 의심했다. 하지만 새 AAB 자체는 문제가 없었다.
원인을 찾다
Play Console은 새로 올린 프로덕션 AAB만 검사하지 않는다. 활성화되어 있는 내부 테스트, 비공개 테스트 트랙의 이전 빌드까지 함께 검사한다는 사실을 뒤늦게 알게 됐다.
실제로 확인해보니 다음 구버전이 여전히 활성 상태로 남아 있었다.
- 비공개 테스트: 버전 코드 xx
- 내부 테스트: 버전 코드 x
문제는 이 두 구버전에 과거의 isAccessibilityTool=true 설정이 그대로 남아 있었다는 점이다. Play Console은 이 값을 근거로 앱 전체를 접근성 도구로 계속 판단했고, 그 결과 구버전 두 개에 대응하는 동일한 권한 오류가 각각 하나씩, 총 두 건 표시된 것이다. 새 버전이 문제가 아니라 오래전에 올려두고 잊고 있던 테스트 빌드가 원인이었던 셈이다.
해결한 방법
먼저 더 이상 사용하지 않는 내부 테스트와 비공개 테스트 트랙을 일시중지했다. 그러자 Play Console의 접근성 선언 화면이 정상적으로 바뀌었다.
이 상태로 접근성 권한 선언을 저장하자 두 오류가 동시에 사라졌다. 릴리스 상태도 출시 준비됨으로 바뀌었다. 이후 새 버전 코드의 프로덕션 출시와 비공개 테스트 트랙 일시중지 건을 함께 Google 검토에 제출했다.
정리하며
Play Console에서 같은 민감한 권한 오류가 반복된다면, 곧바로 AAB를 다시 만들 필요는 없다. 그전에 다음 항목부터 순서대로 확인하는 편이 낫다.
- 새 AAB의 병합된 매니페스트
- Play Console의 App Bundle 및 APK 보기
- 현재 활성화되어 있는 내부·공개·비공개 테스트 트랙
- 구버전에 남아 있는 권한과 isAccessibilityTool 설정
- 지금 앱의 실제 성격에 맞는 접근성 권한 선언
이번 문제의 핵심은 코드가 아니었다. 오래전에 올려두고 방치했던 테스트 빌드가, 지워지지 않은 채로 계속 오류를 만들어내고 있었던 것이다.
댓글을 불러오고 있습니다.