본문 바로가기

개발

(21)
[안드로이드] Support for pending purchases must be enabled. Enable this by calling 'enablePendingPurchases()' on BillingClientBuilder. Google Play Store에서 in-app billing 구현 중 아래와 같은 exception이 발생할 수 있습니다. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.MainActivity}: java.lang.IllegalArgumentException: Support for pending purchases must be enabled. Enable this by calling 'enablePendingPurchases()' on BillingClientBuilder. at android.app.ActivityThread.performLaunchActivity(..
[안드로이드] Play Store에서 앱 이전하기 원 계정의 Google 결제 센터로 이동합니다. https://payments.google.com/ 거래내역 탭에서 개발자 등록 항목을 클릭합니다. 거래 ID를 복사해둡니다. 특이한 점은 token부터 입력합니다. (빨간색 표시) 전체 내용을 복사하면 대상 계정과 맞지 않는 거래 ID라는 에러가 발생합니다. 앱을 이전하려는 원 계정에서 다음 링크를 통해 이동합니다. https://play.google.com/apps/publish/#AppTransferPlace 다음 정보를 입력하고 이전 버튼을 클릭합니다. 이름 대상 계정의 이메일 주소 대상 계정의 주문 ID 전송할 앱 선택 앱 이전 접수 등록이 완료되었습니다. 2일 정도 소요됩니다. 이전하려는 앱에 AdMob이 포함되어 있는데, 관련 내용에 대한 수정..
[안드로이드] Status bar에 컬러 설정 Android의 status bar에 컬러 설정하는 방법에 대해 알아보도록 하겠습니다. Status bar는 System UI에서 각종 정보를 제공하는 영역입니다. 아래 그림에서 빨간 테두리 영역입니다. 아래와 같은 method를 구현하여 인자로 color을 설정하면 됩니다. 단, Lollipop 미만 SDK에서는 지원되지 않으므로 return 코드를 삽입하였습니다. public void setStatusBarColor(int color) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return; } final Window window = getWindow(); window.clearFlags(WindowManager.LayoutParam..
[안드로이드] 코드 난독화를 위해 R8 적용하기 코드 난독화의 목적은 아래와 같습니다. 앱 바이너리를 decompile 하더라도 코드 정보의 논리적 해독 불가 코드의 용량 감소 Method signature가 단순화 됩니다. R8을 적용하면 코드 난독화를 아주 쉽게 적용할 수 있습니다. 1. gradle.properties 수정 android.enableR8=true android.enableR8.fullMode=true 2. app/build.gradle 수정 buildTypes { debug { debuggable true minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules...
[안드로이드] Android Dropbox Service 활용하기 Android system에 DropBoxManagerService라는 service가 있습니다. Dropbox service의 목적은 안드로이드 시스템 동작 중 각종 warning이나 error 이벤트 취합이 목적입니다. Dropbox의 이벤트가 저장되는 위치는 아래와 같으며, 이벤트 단위로 정보 file로 저장이 됩니다. /data/system/dropbox DropBoxManagerService의 각종 로그들이 저장됩니다. Strict mode violation Low memory ANR Crasdh WTF (Fatal failures) Watchdog BootReceiver BatteryService Kernel log ETC Dropbox 사용법입니다. adb shell dumpsys dropb..
[안드로이드] Google Play Store 리뷰 지연 구글 내부 사정으로 Play Store 앱 리뷰가 7일 이상 걸릴거라고 공지가 되었습니다.
[안드로이드앱] Device ID 오늘 소개해드릴 앱은 Device ID라는 앱입니다. 안드로이드 장치의 각종 ID 값을 확인할 수 있습니다. Play Store에서 다운받으실 수 있습니다. https://play.google.com/store/apps/details?id=com.kyumpany.deviceid Device ID - Android 장치의 각종 ID를 확인하세요. - Google Play 앱 안드로이드 디바이스가 제공하는 각종 ID 값을 확인할 수 있습니다. 기능 - 모델 - 하드웨어 시리얼 넘버 - 안드로이드 ID - 전화번호 - IMEI - SIM 가입자 ID - SIM 카드 시리얼 넘버 - 외부 IP address - 내부 IP address - Wi-Fi MAC 주소 - Bluetooth MAC 주소 - Finger..
[git] Commit 메시지 수정 Git에 push된 commit에 대해 message를 수정하고 싶을 때에는 다음 명령어를 사용한다. git commit --amend -m "메세지" git push -f 혹시 gitlab을 사용 중이라면 branch가 protected branch인지 확인해야 한다. 만약 protected branch라면 protected를 해제해야 한다.