본문 바로가기

Android

Flutter에서 Android MacAddress 에러 기존에 배포하던 태블릿 기기에서 사용하던 MAC 주소 접근 방법이 김수석님이 사용하는 폰에서는 동작하지 않는 문제가 발견되었다. 기존 배포용 태블릿 안드로이드 버전은 Android11 이었으며, '/sys/class/net/wlan0/address' 파일을 통해 MAC 주소를 가져오는 방법을 사용하고 있었다. 문제는 이러한 방법은 네트워크 인터페이스의 설정 파일에 직접 액세스하여 MAC 주소를 가져오기 때문에 상대적으로 간단하고 편하지만 결국은 트릭키한 방법이기 때문에 안드로이드 버전에 따라 동작하지 않을 수 있다는 것이다. 현재 안드로이드의 보안 및 프라이버시 정책은 지속적으로 강화되고 있으며, 특정 디렉토리나 파일에 대한 접근을 제한하는 추세이다. 검색해보니 기존에 동작하던 Android 11에서도 .. 더보기
Android 앱 빌드 후 API 호출 문 회사 출퇴근 앱을 브라우저에서 WebView로 사용하다가 안드로이드 앱으로 사용하고 싶어 APK를 생성 후 설치하였다. 그런데 앱을 실행하니 아래 화면에서 동작을 하지 않는 것이다. 로그인 실패, API 호출 시 발생하는 에러에 대해 예외처리가 모두 되어 있던 상태라 저렇게 홀딩이 걸리는 이유를 판단하기 어려웠다. 그러다 API 호출조차 되지 않은 경우가 있지 않을까라는 생각까지 미치게 되었다. 검색을 해보니, 릴리즈 모드에서는 API 호출 시 인터넷 권한 문제로 에러가 발생할 수 있다고 한다. 이 결우, 매니페스트에 권한을 주면 해결된다. 이외에도 각각의 기능에 맞는 안드로이드 권한 종류가 있으며 필요 시 위와 같이 권한 허가를 넣어주어야 한다. ex) 외부 저장소 읽기/쓰기 권한 자세한 내용은 안드로.. 더보기
Android apk 빌드 시 앱 아이콘 변경 Flutter로 안드로이드 빌드를 하여 apk 생성 시, 아이콘을 변경하는 방법에 대해 설명한다. 1. 앱 아이콘 이미지 준비: 먼저 원하는 앱 아이콘 이미지를 준비한다. 이미지 크기는 다양한 해상도를 지원하기 위해 다음과 같은 크기로 준비한다. mipmap-mdpi: 48x48 픽셀 mipmap-hdpi: 72x72 픽셀 mipmap-xhdpi: 96x96 픽셀 mipmap-xxhdpi: 144x144 픽셀 mipmap-xxxhdpi: 192x192 픽셀 2. 앱 아이콘 이미지 추가: 준비한 앱 아이콘 이미지를 앱 프로젝트의 android/app/src/main/res 폴더 내에 각 해상도 별로 적절한 디렉터리에 추가한다. 예를 들어, mipmap-mdpi 디렉터리에 ic_launcher.png, mi.. 더보기
Android 앱화면 상태바 가리기 Flutter로 안드로이드 앱을 빌드하여 적용하였는데, 상단의 바는 가리고 하단의 바는 보이게 처리해야 했다. 이 경우, SystemChrome 클래스를 임포트하여 사용하면 된다. import 'package:flutter/services.dart'; void main() { runApp(const MyApp()); // overlays 설정 여부에 따라 달라진다. 하기 코드는 bottom만 보이게 처리한다. SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom]); } 더보기