태그 보관물: 안드로이드

Android 13(API level 33) 이상 Storage 관련 오류 해결

개요

새로운 앱을 업로드 하는데 API level 34 이상이어야 했습니다. API level 이 낮은 장비에서 잘 동작해서 34 로 변경 후 구글플레이에 업로드 했습니다. 그런데 앱이 거부되었습니다.

거부 이유

메일의 제목은 조치 필요: 앱이 Google Play 정책을 준수하지 않음 이었습니다. 세부 내용을 확인해 보니 다음과 같았습니다.

발견된 문제: 손상된 기능 정책 위반

비정상 기능 정책을 준수하지 않는 콘텐츠가 포함되어 있습니다.

  • 앱이 로드되지만 응답하지 않음
메일 내용

문제 파악

이미지 까지 첨부되어 있어 확인해 보았습니다. 내용은 Storage 에 쓰기 권한을 요청하는 화면이었습니다.

첨부된 이미지

단순히 SETTINGS 를 눌러 권한을 허용하면 될 것 같은데 뭔가 좀 이상했습니다.

API level 34 를 지원하는 실제 테스트 기기가 없어서 에뮬레이터를 이용해서 테스트 해 보았습니다. 앱을 설치하고 실행하니 위와 같은 화면이 나타났습니다. SETTINGS 를 터치하니 앱의 권한 관리 화면으로 이동 되었습니다. 그런데 권한을 추가할 수 없고 요청된 권한 사항이 없다는 글자만 나타나고 비활성화 되어 있는 상태였습니다.

앱이 위의 화면에서 설정 화면으로 이동만 되고 더 이상 할 수 있는 것이 없어서 정상적으로 실행되지 않는다는 것을 확인했습니다.

문제 해결

이전 API level 에서는 처음에 나타나는 권한 부여만 선택해 주면 문제 없이 동작했습니다. 문제는 API level 33 이상에서 나타나는 것으로 생각되었습니다. 이리저리 찾아보니 AndroidManifest.xml 파일에 권한 관련 설정 부분에 추가 내용이 필요했습니다.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />

android:maxSdkVersion=”32″ 를 위와 같이 추가해서 다시 업로드 하면 문제 없이 앱이 등록되었습니다.

Android Studio Run 창 나타나지 않도록 설정하는 방법

개요

Android Studio 에서 앱을 실행하면 하단에 Run 창이 나타납니다. 필요한 정보를 보여주는 용도이지만 앱을 종료해도 자동으로 사라지지 않습니다. 작업 영역을 좁게 만들어 답답하게 느껴집니다. 매번 닫아야 하는 것이 매우 귀찮습니다. Run 창이 자동으로 나타나지 않도록 설정하는 방법을 알아보겠습니다.

앱을 실행하면 자동으로 나타나는 Run 창
앱을 실행하면 자동으로 나타나는 Run 창

설정 방법

Android Studio Giraffe | 2022.3.1 Patch 1 기준 입니다. 다른 버전에서도 크게 다르지 않으실 겁니다.

Run > Edit Configurations 메뉴를 선택합니다.

Run > Edit Configurations 메뉴 선택
Run > Edit Configurations 메뉴 선택

대화 상자가 나타나면 맨 아래로 스크롤 합니다.

Run/Debug Configurations 대화상자
Run/Debug Configurations 대화상자

스크롤한 후 아래 이미지와 같이 Activate tool window 항목을 해제합니다.

Activate tool window 항목 해제
Activate tool window 항목 해제

이렇게 설정한 후 앱을 실행하면 Run 창이 자동으로 나타나지 않습니다. 내용 확인이 필요할 때마다 직접 열어서 확인하면 됩니다.

이번 글에서는 간단하지만 작업 효율을 조금이나마 높여주는 Run 창이 자동으로 나타나지 않도록 설정하는 방법을 알아보았습니다.