Develop/Android

포스팅 환경 M1 Mac OS Ventura 13.4.1 Android Studio Giraffe | 2022.3.1 Patch 1 (ARM) Gradle 8.2 Android Build Gradle 8.2.2 Kolin 1.9.22 Target SDK 33 SDK 32 이하 기존 코드 기존의 코드의 경우 아래의 형태로 가져올 수 있었습니다. context.packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES) 하지만 SDK 33 이 되면서 위 처럼 가져오는 코드가 Deprecated 되었습니다.. SDK 33 이상 기존 코드 그럼 다른 방식으로는 어떻게 가져오면 될까요? 아래 공식문서를 보면 PackageManager.Pack..
포스팅 환경 M1 Mac OS Ventura 13.4.1 Android Studio Giraffe | 2022.3.1 Patch 1 (ARM) Gradle 8.2 Android Build Gradle 8.2.2 Kolin 1.9.22 Target SDK 33 기존 추가 방식 기존 Gradle 7.2 이하 버전에서는 새 프로젝트를 생성하면 아래와 같은 구조가 생성되었습니다. build.gradle(project) buildscript { repositories { google() mavenCentral() } dependencies { ... classpath "org.jetbrains.kotlin:kotlin-serialization:1.9.22" ... } } allprojects { repositor..
포스팅 환경 M1 Mac OS Ventura 13.4.1 Android Studio Giraffe | 2022.3.1 Patch 1 (ARM) Gradle 7.5 Android Build Gradle 7.4.2 Kolin 1.7.20 Target SDK 33 화면 회전? Android 에서는 사용자의 기기가 회전 함에 따라 실행 중인 앱의 화면 회전과 같은 구성 변경(Configuration Changes)이 발생 할 때 앱의 Activity 를 완전 파괴하고, 새로운 구성에 맞게 Activity 를 다시 생성한다. 주의할 점은 화면의 상태가 다 날아가기 때문에 Activity 가 파괴되기 전 데이터를 저장하는 것이 중요하다. 화면 회전 시, 생명주기에 따라 호출되는 함수 Activity onPause ..
포스팅 환경 M1 Mac OS Monterey 12.6 Android Studio Dolphin 2021.3.1 Patch1 (ARM) 개요 안드로이드 개발을 하다보면 프로젝트에 추가한 의존성들의 버전을 맞추거나 업그레이드 해야할 때 상당부분 귀찮을때가 있습니다. 어떤 것은 안드로이드 개발자 공식사이트에서 알려주는 버전보다 더 높은 버전을 써야 한다던가 혹은 공홈의 버전과 실제 배포로 나와져 있는 버전이 맞지 않다거나 하는 것 처럼 말이죠… 이럴 때는 일일 그 라이브러리 저장소를 찾아가서 버전을 확인한다던가 깃헙을 뒤져서 확인한다 던가 해야합니다. 여간 귀찮은 일이 아닐 수 없습니다ㅋㅋ 하지만 이런 귀찮은 일을 해결해 줄 수 있는 플러그인이 있어서 소개해드리려고 합니다. 기본 최신버전 확인방법 안드로이드..
포스팅 환경 M1 Mac OS Monterey 12.6 Android Studio Dolphin 2021.3.1 Patch1 (ARM) Gradle 7.4 Android Build Gradle 7.3.1 Kolin 1.7.20 Target SDK 32 보통 안드로이드 디바이스 화면을 깨우는 기능이 필요한 일이 흔하지 않은데 저는 FCM 을 구현하던 중에 푸쉬를 받았을 때 화면이 켜져야 할 코드가 필요했습니다. 여러 코드가 있지만 저는 아래 코드를 사용하였는데요 이 코드를 알려드리겠습니다. 안드로이드 디바이스 화면을 깨우는 코드는 생각보다 간단합니다. 바로 아래의 코드인데요 fun wakeUpScreen() { val pm = getSystemService(POWER_SERVICE) as? PowerMan..
환경 M1 Mac OS Monterey 12.5.1 Android Studio Chipmunk 2021.2.1 Patch1 (ARM) Gradle 7.2 Android Build Gradle 7.1.2 Kolin 1.7.0 개요 안드로이드 개발을 하다보면 가끔씩 assets 폴더 내부에 존재하는 파일을 가져와야 할때가 있는데 자주있는 일이 아니라서 어떤 함수들로 가져왔었지? 하고 항상 다시 찾아보곤 합니다. (ㅜ.ㅜ) 그래서 기록 겸 assets 폴더 내부의 파일을 접근해서 가져오는 방법을 포스팅하려고 합니다. 테스트용으로 아래와 같은 파일이 assets 폴더 내에 존재한다고 가정해보겠습니다. Context.getAssets() 함수로 파일 가져오기 Context 에서는 getAssets() 라는 함수를..
환경 M1 Mac OS Monterey 12.5.1 Android Studio Chipmunk 2021.2.1 Patch1 (ARM) 개요 안드로이드 스튜디오에서 새 프로젝트를 만들고 나면 항상 Asset 폴더를 어디에 만들어야 할지 헷갈려요.. (나만 그런가ㅋㅋ) 그래서 Asset 폴더를 프로젝트 내에서 어떤 폴더 경로에서 생성해야 하는지 포스팅하려 합니다. Asset 폴더 만들기 안드로이드 스튜디오 왼쪽 폴더 탭의 app 모듈 탭에 오른쪽 클릭을 합니다. New -> Directory 순으로 이동합니다. 아래와 같은 창이 나타나면 assets 라고 입력합니다. 만들고 싶은 폴더 경로의 assets 를 더블 클릭합니다. 저는 src/main/assets 에 만들려고 합니다. 아래 처럼 assets 폴더..
개요 앱을 구글플레이 콘솔에 배포 후 구글에서 보통 마켓 키를 생성하라고 권장하는데 나중에 보면 업로드 키와 이 마켓 키 정보가 달라 꽤나 해멧던 적이 있습니다. (그때는 당연 업로드 키와 마켓 키 정보가 같게 생성 될 줄 알았음..) 업로드 할 때는 업로드 키로 사인된 apk 이지만 구글 플레이에서 배포가 되어서 사용자가 다운로드 받을 때는 이 마켓 키로 서명된 앱을 다운 받게 되는데요 따라서 앱에 연동된 외부 서드파티 기능들이 정상적으로 작동하려면 (네이버로그인, 페이스북로그인, 카카오로그인 등등...) 외부 API 에 마켓 키의 정보로 등록을 하여야 합니다. 이 마켓 키를 구글플레이 콘솔에서 확인하는 방법을 알려드리겠습니다. 마켓 키 확인 먼저 구글 플레이 콘솔에 접속해주세요 이후 모든 앱 -> 확..
테스트 환경 M1 Mac OS Monterey 12.5 Android Studio Chipmunk 2021.2.1 Patch1 (ARM) 개요 파일 관련하여 앱별 저장소에 테스트를 하던 중 Android Studio Device File Explorer 에서 저장이 잘 되었는지 확인하려고 했는데 /storage/emulated/: permission denied 라는 메시지가 노출 되면서 볼 수 가 없습니다. 이를 해결하는 방법을 소개하려고 합니다. 해결 먼저 Android Scope Storage 에 따라서 Context.getFilesDir() 로 경로를 가져와서 파일을 저장하면 앱별저장소 - 내부저장소에 저장됩니다. 하지만 런타임에서 코드로 파일의 실존여부를 확인하는 것은 가능하지만 Android ..
필요성 Android Studio 로 Android 개발을 하다 보면 adb shell 을 활용하여 테스트해야 하는 경우가 많습니다. 하지만 이와 관련된 환경 변수가 설정되어 있지 않다면 아래와 같은 메시지가 뜨게 되죠. $ adb bash: adb: command not found 환경 변수?? 환경 변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임이라 합니다. 쉽게 말해 환경 변수에 실행할 파일의 경로를 미리 지정해두면 어떤 경로에서도 바로 실행 할 수 있도록 해주는 것이죠. 환경변수 영구 설정 구글링을 하면 bash_profile 을 설정해서 환경 변수를 설정하는 방법이 많은데 이 방법은 터미널을 닫으면 그대로 적용된 설정이 풀립니다. 혹은 MacOS 를 재시동하면 풀려..
Linitial
'Develop/Android' 카테고리의 글 목록