build.gradle 에서 flavor 별로 설정을 달리하고 싶을 경우 현재 flavor를 조회하는 메소드를 활용하면 된다. Reference https://stackoverflow.com/questions/30621183/how-to-get-current-flavor-in-gradle
FileProvider란? FileProvider는 4대 컴포넌트 중 하나인 ContentProvider의 하위 클래스입니다. 파일만을 공유하고자 한다면 간단하게 사용할 수 있다는 장접이 있습습니다. Android 12부터 Scope Storage 정책으로 인해 공유 외장 저장소 영역외엔 접근이 불가능해졌기에 안전하게 FileProvider를 사용해 공유합니다. 사용법 AndroidManifest.xml 설정 authorities는 FileProvider의 고유한 식별자 역할하므로 개발자가 원하는 값을 작성해도 된다. file_paths.xml 설정 res/xml 폴더에 file_paths.xml 파일을 생성합니다. name 값은 개발자가 임의로 지정할 수 있습니다. (File URI 변환 시 지정된 n..
Android - Multidex 오류 해결법 Android build 시 Mutidex 관련 문제로 build 실패할 경우가 있다. Mutidex가 뭐지 알고보고 해결 방법에 대해 알아보자. Mutidex 란? ▷ 64K 참조 제한 관련 정보 - Android 앱(APK) 파일에는 Dalvik Executable(DEX) 파일 형식의 실행 가능한 바이트 코드 파일이 포함되며, DEX 파일에는 앱을 실행하기 위해 사용되는 컴파일된 코드가 포함됩니다. Dalvik Executable 사양은 단일 DEX 파일 내에서 참조될 수 있는 메서드의 총 개수를 65,536개로 제한하며 여기에는 Android 프레임워크 메서드, 라이브러리 메서드, 자체 코드에 있는 메서드가 포함됩니다.컴퓨터 공학에서 킬로 또는 K라는..
● Android - Keystore 생성 및 앱 서명하기 1. Keystore 생성 keystore 파일명 지정 (디렉토리를 지정하여 생성할 수도 있다.) alias명 지정 keytool -genkey -v -keystore ~/[Keystore 파일명].jks -keyalg RSA -keysize 2048 -validity 10000 -alias [alias명] -storetype JKS 질문에 답하기 Enter Keystore password : [생성할 키스토어 비밀번호] Re-enter new password : [생성할 키스토어 비밀번호 확인] Whit is your first and last name? : [생성자 성과 이름] What is the name of your organizati..
Android - API Key 숨기기 (local.properties 활용) API Key를 넣을 때 Manfest에서 meta-data 태그 안에 입력한다. 그럴 경우 Github에 소스를 Public하게 Push 하게 되면 API Key가 노출되어 악용될 수 있다. 그러므로 API Key를 Manfest에서 직접 입력하지 않고 local.properties를 활용하여 Key를 숨기는 방법에 대해 설명한다. ★ Google에서 가이드한 내용이므로 믿고 따라와주길 바란다. Secrets Gradle Plugin 설치 1. 프로젝트 최상단에 위치한 build.grade 파일에 dependencies를 추가해준다. buildscript { dependencies { classpath("com.google...
Kakao 로그인이 왜 안되지? Android에서 Kakao 로그인 기능 구현을 위해 key 값을 네이티브 앱 키 값을 넣어 구현 후 빌드하였다. APK 파일을 생성해 실제 기기에 테스트 해봐도 잘 동작하였다. 그런데 Google Play Console에 테스트 버전을 올리고 Play Store에서 테스트 버전을 설치 후 시도하였더니 오류를 내뱉고 로그인이 진행되지 않았다. 원인 - Google Play 앱 서명(App Signing)을 사용하기에 KaKao 릴리즈 키를 사용하지 않고, Google Play Console에서 얻은 SHA-1 인증서 지문(SHA-1 certificate fingerprint)을 base64로 인코딩하여 사용해야한다. https://developer.android.com/s..