일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- KAKAO
- collectLatest
- Product Flavor
- monotone stack
- TOSS 과제
- Advanced LCA
- coroutinescope
- ServerDrivenUI
- withContext
- 백준
- cancellationException
- Flow
- Next Challenge
- app-distribution
- google play console
- SDUI
- hotStream
- coroutinecontext
- Android
- coldStream
- 안드로이드
- conflate
- flowon
- ShapeableImageView
- Algorithm
- 릴리즈 키해시
- coroutine
- java
- Kotlin
- 백준2309
- Today
- Total
목록Android (8)
루피도 코딩한다
보호되어 있는 글입니다.

📌 Backgrounds Hi! I'm a android developer at'LGTM', and our team wanted to implement A/B testing on the Home screen. Unlike web services, we can't force Android app users to update simultaneously. So, we decided to leverage the 'Server-Driven UI' (SDUI) technique. Today, I'd like to share how I applied the 'SDUI' approach to our project. Let's dive in! 1️⃣..

[한 줄 요약] 이 글은 Where) Android 프레임 워크에서 When) develop과 main branch에 Pull Request에 push가 일어날 때마다, (Gitflow 사용 중) How) Github Action을 통해 What) Firebase App Distribution에 자동으로 apk 파일을 배포하는 방법을 담았습니다! [CD를 구현 과정과 기록으로 남기게 된 이유] 기존에 SOPT에서 협업을 하며 나름 대규모(약 15명)로 협업을 하던 시기에는 QA기간이 따로 존재했습니다. 앱 릴리즈 직전에 기획자들이 엣지케이스를 테스트했으며, 디자이너들 또한 Design QA를 진행하곤 했습니다. 그러나 현재 SW마에스트로에서는 애초에 팀이 꽤나 소수인 4명(나(안드 1), 서버 2, 디자..

얼마 전 HAVIT이라는 앱을 출시하고 홍보를 시작했다. 생각보다 빠른 시간 내에 700명 정도의 유저를 달성했는데, Google Play Console에서 제공해 주는 에러 레포팅이 불편했다. 첫째, 실시간이 아니라 하루 지났을 때 즈음 로그가 업데이트되기에, 대응하기 쉽지 않다. 둘째, 크래시가 나는 상황을 정확하게 파악하기 어렵다. 기본적인 휴대폰 기종, 앱 버전은 보여주지만, 앱이 background상태였는지 루팅 때문에 발생한 문제인지 판별하기는 쉽지 않았다. 이 문제를 해결하기 위해서는 Crashlytics의 도입이 절실해졌다. Crashlytics는 본래 Twitter에서 개발한 건데 google에 인수되었다고 한다! 1. Crashlytics란?Crashlytics는 실시간으로 비정상 종료..
진행중인 프로젝트에서 ImageView의 radius를 6dp 설정해야했다. 해당 프로젝트에서는 'Glide'를 활용하여 이미지를 표시해 주었다. url을 활용한 이미지는 radius가 정상적으로 적용이 되었으나, placeHolder에 넣어준 dummy img는 radius가 적용이 안되었다는 디자인 QA가 들어왔다..! HTML 삽입 미리보기할 수 없는 소스 기존에 glide를 활용한 코드는 아래와 같다. @BindingAdapter("app:ogImage") fun ImageView.setOgImage(url: String?) { Glide.with(context) .load(url) .transform(CenterCrop(), RoundedCorners(px(6))) .placeholder(R.d..

0. 지난 글 요약 1) 개인정보처리방침 url이 문제가 되어 3번의 리젝을 당함 2) url 수정끝에 릴리즈에 성공 3) 심사 통과를해서 프로덕션 출시가 시작됐는데, 앱 다운로드가 안됨 4) Leakcanary와 관련된 문제를 해결 5) ?? : 이제 다운로드는 잘 되는데, 카카오 로그인이 안돼요 그리하여 오늘은 카카오 로그인 에러를 해결한 경험에 대해 기록하고자 한다. https://developer-rim.tistory.com/8 앱을 출시를 했는데요, 출시를 못했습니다 (1편/ Leakcanary) 0. 발단 지난 반년 간 사이드 프로젝트로 틈틈이 진행해오던 'ReadMe'가 드디어 릴리즈를 했다. 그러나 리젝만 3번 당하고 v1.0.4가 되어서야 프로덕션 릴리즈에 성공했다. 너무나도 기쁜 나머지..
0. 발단 지난 반년 간 사이드 프로젝트로 틈틈이 진행해오던 'ReadMe'가 드디어 릴리즈를 했다. 그러나 리젝만 3번 당하고 v1.0.4가 되어서야 프로덕션 릴리즈에 성공했다. 너무나도 기쁜 나머지 나는 이 사실을 곧바로 우리 가족들에게 알렸고, 아버지가 제보를 해오셨다. '딸, 앱 다운로드가 안 되는데?' (아버지가 캡처해주신 사진) 후.. 4번의 리젝과, 출시는 했는데 앱 다운로드가 안 되었던 여정을 공개하고자 한다. 1. 사건의 발단 '개인정보처리방침' v1.0.0, v1.0.2, v1.0.3 세 가지 버전을 Google Play Console에 심사를 올렸고, 3번 다 리젝 당했다. 그 이유는 모두 개인정보 처리방침 url 문제였다. 각 버전별로 아래와 같은 조치를 취한 후, 정상적으로 릴리즈..

아해당 글은 '플레이 스토어'에서 최초 배포를 한 Android 앱을 업데이트하는 방법을 다룹니다. 1. Build.gradle에서 버전 정보 수정하기 1) build.gradle(Module) > android 하위의 > 'versionCode'와 'versionName'을 수정 ex. 100, "1.0"을 각각 200, "2.0"로 변경 2) 상단의 'Sync Now' 클릭 수정된 versionCode와 versionName은 'Goole Play Console'애서 오른쪽과 같이 표시됩니다. 2. aab 파일 생성하기(aab : android app bundle) 1) Menu > build > Generate Signed Bundle / Apk... 클릭 2..