[카카오맵] 안드로이드 앱 릴리즈(사이닝) 이후 맵 로딩이 안됩니다 (HASH key 문제인지 확인 요청!)

제목과 같이 디버그 모드로 빌드했을때 아무 문제 없던 apk가 앱 릴리즈 하고 맵이 보이지가 않네요. (아, 참고로 본 이슈로 등록된 카카오 DEV platform의 앱 ID는 467541 입니다!)
현상은 화면상으로는 액티비티 전체 회색 스크린과 / 하단 Kakao 마크가 보여지고, 로그창에 하기 팝업이 무한히 올라오고 있습니다…

020-12-24 00:33:04.761 517-9420/? E/BufferQueueProducer: [SurfaceView - ui.home.HomeActivity@319182e@0#0] disconnect: not connected (req=1)

hash key 발급했을 때 하기의 방식으로 진행했으며,

keytool -exportcert -alias SMT_AOS_UPLOAD -keystore <인증키path> | openssl sha1 -binary | openssl base64
Enter keystore password: ****

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using “keytool -importkeystore -srckeystore <인증키path> -destkeystore <인증키path> -deststoretype pkcs12”.
결과 : fIL로 시작해서 = 로 끝나는 27글자 hash값 발생

여기서 이상한점은 위 해시키를 카카오 플랫폼에 등록 한 후 로그인의 "카카오 로그인"은 동작하는데 (hash key 등록전에 안됐습니다.) 카카오맵만 회색 스크린 현상의 문제가 있네요.
hash key발급받을때의 Warning도 왜 발생하는지 잘 모르겠고요 ㅠ… 하지만 카카오 로그인이 동작하는것으로 봐서 해시키가 들어가긴한거같은데 말입니다…

혹시 카카오 서버에서 확인을 부탁드려도 될까요?

혹은 다른 이유를 아시는 분 있을까요?

1개의 좋아요

혹시 이 글에 대해 카카오팀 확인이 되고 있을지 문의드립니다…

해당 앱ID에서 키해시 오류값 로그로 잡히는 건 없는데요.
아래 키해시 관련 가이드 보시고 다시한번 확인해보시겠어요?

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-android-v1#key-hash

1개의 좋아요

보내주신 링크로 세팅 그대로 진행하고 계속 문제발생해 다시 댓글 남깁니다.

해시키문제가 없다면 더 큰 의문인데요, 동일한 설정으로 디버그 빌드 진행시 문제없이 잘 보여지는 맵화면이 왜 릴리즈 빌드로하면 보여지지않는 걸까요? ㅠㅠ 다시 언급드리지만 카카오 로그인은 정상적으로 인증 진행되는 것을 확인했습니다. 다른 부분에 대해 문제있는게 확인 되실까요? 필요시 로그를 추가첨부드릴수 있습니다

@erin.lee
@lea.ju
안녕하세요? 앞서 erin님께서 말씀해주신바와 같이 저희 앱 ID에서 키해시 오류가 나지 않는것도 있고, 카카오 로그인 또한 동일한 hashkey로 로그인 프로세스가 완료되기에 문제가 없을 것 같은데요, 카카오맵 로딩이 되지 않는건 어떤 이슈로 봐야할까요…?
혹시 하기 에러로그 및 스크린샷 첨부드리오니 확인가능하실까요…? 본 이슈를 계속 보며 밤을 지새우고 있습니다 ㅠ_ㅠ… 간절히 도움 요청드립니다…

tempFileForShare_20201230-003907

2020-12-30 00:30:48.960 964-9643/? D/LocationManagerService: request abde42d gps Request[ACCURACY_FINE gps requested=+500ms fastest=+500ms] from com.smallticket.petping(10483 foreground)
2020-12-30 00:30:48.960 964-9643/? D/LocationManagerService: provider request: gps ProviderRequest[ON interval=+500ms]
2020-12-30 00:30:48.961 9705-9758/? V/ListenerMonitor_FLP: addListener, type=LOCATION, packageName=com.smallticket.petping, listenerId=abde42d, size=1
2020-12-30 00:30:48.961 9705-9758/? V/RequestManager_FLP: success addListener, packageName : com.smallticket.petping , listenerId : abde42d
2020-12-30 00:30:48.961 964-9643/? I/GnssLocationProvider: WakeLock acquired by sendMessage(SET_REQUEST, 0, com.android.server.location.GnssLocationProvider$GpsRequest@62e0d62)
2020-12-30 00:30:48.961 9705-9758/? E/RequestManager_FLP: [LocationManager] Location request  abde42d(Listener) gps interval=500 from com.smallticket.petping (10483 foreground)
2020-12-30 00:30:48.961 964-9360/? D/GnssLocationProvider: setRequest ProviderRequest[ON interval=+500ms]
2020-12-30 00:30:48.961 964-9360/? D/GnssLocationProvider: mStarted =  false, mDisableGpsForPowerManager = false, isEnabled = true
2020-12-30 00:30:48.961 964-9360/? D/GnssLocationProvider: startNavigating
2020-12-30 00:30:48.961 964-9360/? D/GnssLocationProvider_ex: Data status WIFI connected
2020-12-30 00:30:48.962 964-9360/? D/GnssLocationProvider: setting position_mode to standalone
2020-12-30 00:30:48.962 9488-9579/? D/LocationControllerImpl: onReceive() = android.location.HIGH_POWER_REQUEST_CHANGE
2020-12-30 00:30:48.962 805-805/? D/Gnss@1.1: setPositionMode_1_1: lowPowerMode(F)
2020-12-30 00:30:48.962 805-805/? I/Gnss@1.0: gps_set_position_mode: lowPowerMode(F)
2020-12-30 00:30:48.962 805-805/? D/libgps: proxy__gps_set_position_mode_hook(lowPowerMode(F))
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHook: API: gpsSetPositionMode(GpsiHookStateIdle: e,c,g,l)
2020-12-30 00:30:48.962 805-805/? D/libgps: proxy__gps_set_position_mode(lowPowerMode(F))
2020-12-30 00:30:48.962 805-805/? D/libgps: proxy__gps_set_position_mode(0, 0, 1000, 0, 0)
2020-12-30 00:30:48.962 805-805/? I/Gnss@1.0: start: IGnss impl: start request
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHook: API: gpsStart(GpsiHookStateIdle: e,c,g)
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHookStateIdle             : EXIT
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHookStateGps              : ENTRY
2020-12-30 00:30:48.962 805-805/? D/libgps: [proxy__gps_start][line = 1320]: called.
2020-12-30 00:30:48.962 964-9643/? D/LocationManagerService: request abde42d network Request[POWER_LOW network requested=+500ms fastest=+500ms] from com.smallticket.petping(10483 foreground)
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHook: API: gpsStatusCb(GpsiHookStateGps: e,c,g)
2020-12-30 00:30:48.962 964-9360/? V/GnssLocationProvider: reportStatus status: 3
2020-12-30 00:30:48.962 964-9643/? D/LocationManagerService: provider request: network ProviderRequest[ON interval=+500ms]
2020-12-30 00:30:48.962 805-805/? D/libgps: GpsiHook: API: gpsStatusCb(GpsiHookStateGps: e,c,g)
2020-12-30 00:30:48.962 964-9360/? V/GnssLocationProvider: reportStatus status: 1
2020-12-30 00:30:48.963 801-801/? D/gpsd: OnTimerEvent: gnss_request_location_cb(F)
2020-12-30 00:30:48.963 801-801/? D/gpsd: gnss_request_location_cb(F,F)
2020-12-30 00:30:48.963 805-9787/? D/libgps: OnGpsExtensionMessage: message_id(11), data(0x7a1ae71044), size(4)
2020-12-30 00:30:48.963 805-9787/? D/libgps: [OnGpsExtensionMessage] Received: MSG_SET_LOG_LEVEL(2)
2020-12-30 00:30:48.963 805-9787/? D/libgps: OnGpsExtensionMessage: message_id(6), data(0x0), size(0)
2020-12-30 00:30:48.963 805-9787/? D/libgps: proxy__agps_ril_request_setid_cb:  s_pAGpsRilCallbacks(0x7a1a9ed080)
2020-12-30 00:30:48.964 964-9360/? I/GnssLocationProvider: WakeLock released by handleMessage(SET_REQUEST, 0, com.android.server.location.GnssLocationProvider$GpsRequest@62e0d62)
2020-12-30 00:30:48.965 9488-9579/? D/LocationControllerImpl: onReceive() = android.location.HIGH_POWER_REQUEST_CHANGE
2020-12-30 00:30:48.965 9705-9758/? D/GnssStatusListener_FLP: GNSS Engine started
2020-12-30 00:30:48.965 9705-9758/? D/GnssEngineMonitor_FLP: updateGnssEngineStatus, true / isFromAp=true
2020-12-30 00:30:48.966 9705-9758/? V/AppState_FLP: Success to save #1 snapshot in appStateMap, time=569830912 / appList=com.smallticket.petping[gps,500,100]]
2020-12-30 00:30:48.966 9705-9758/? V/RequestManager_FLP: noteStartGps, uid=10483
2020-12-30 00:30:48.967 9916-20028/? I/TelephonyProvider: D/TelephonyProvider: query: match = 7
2020-12-30 00:30:48.967 9916-20028/? I/TelephonyProvider: D/TelephonyProvider: called from phone or system uid, skip check
2020-12-30 00:30:48.969 964-11790/? V/WindowManager: Relayout Window{4cc9bb4 u0 com.smallticket.petping/ai.comake.petping.ui.home.HomeActivity}: viewVisibility=0 req=1080x2220
2020-12-30 00:30:48.970 9705-9758/? D/GpsSession_FLP: New GPS Session started, GlpInterval=500 / OperationMode=-1
2020-12-30 00:30:48.972 964-11790/? V/WindowManager: Relayout 17499: mAttrs={(0,0)(fillxfill) sim={adjust=pan} ty=BASE_APPLICATION fmt=TRANSLUCENT wanim=0x1030305
      fl=81810100
      pfl=10020000
      vsysui=2510 naviIconColor=0}, display=0
2020-12-30 00:30:48.972 964-9630/? D/SemContextService: lock : registerCallback
2020-12-30 00:30:48.972 964-9630/? W/CAE: registerCallback(ContextAwareService.java:155) - [regi 01] Mutex is locked for SENSOR_STATUS_CHECK_RUNNER
2020-12-30 00:30:48.972 17499-17499/? I/ViewRootImpl@87a3012[HomeActivity]: Relayout returned: old=(0,0,1080,2220) new=(0,0,1080,2220) req=(1080,2220)0 dur=3 res=0x1 s={true 484253138944} ch=false
2020-12-30 00:30:48.972 964-9630/? V/CAE: start(ContextProvider.java:128)
2020-12-30 00:30:48.972 964-9630/? V/CAE: clear(SensorStatusCheckRunner.java:192)
2020-12-30 00:30:48.972 964-9630/? V/CAE: enable(SensorStatusCheckRunner.java:167)
2020-12-30 00:30:48.972 964-9630/? I/CAE: sendCmdToSensorHub(SensorHubCommManager.java:158) - -79, 59, 0, 0,
2020-12-30 00:30:48.973 517-572/? I/SurfaceFlinger: id=17552 createSurf (1080x1947),4 flag=404, SurfaceView - com.smallticket.petping/ai.comake.petping.ui.home.HomeActivity@d555bf0@0#0
2020-12-30 00:30:48.973 964-2872/? D/SensorService: setSContextDataLocked ints length 2 , byte length 4
2020-12-30 00:30:48.973 517-2931/? I/SurfaceFlinger: id=17553 createSurf (0x0),-1 flag=20404, Background for -SurfaceView - com.smallticket.petping/ai.comake.petping.ui.home.HomeActivity@d555bf0@0#0
2020-12-30 00:30:48.973 494-719/? D/Sensors: b1 3b 00 00  
2020-12-30 00:30:48.973 494-719/? E/Sensors: inject_scontext_data: New ssp_data_injection_fd(32)
2020-12-30 00:30:48.974 17499-17499/? I/SurfaceView: surfaceCreated 1 #8 net.daum.mf.map.api.MapView{d555bf0 VFE...... ......ID 0,0-1080,1947 #7f09011c app:id/map_view}
2020-12-30 00:30:48.974 494-719/? D/Sensors: SContext Data Injection return 4
2020-12-30 00:30:48.974 964-9630/? D/CAE: getFaultDetectionResult(SensorStatusCheckRunner.java:206) - true
2020-12-30 00:30:48.974 964-9630/? I/CAE: notifyCmdProcessResultObserver(ContextProvider.java:627) - CheckResult = 0, Cause = Success
2020-12-30 00:30:48.975 17499-17499/? I/SurfaceView: surfaceChanged (1080,1947) 1 #8 net.daum.mf.map.api.MapView{d555bf0 VFE...... ......ID 0,0-1080,1947 #7f09011c app:id/map_view}
2020-12-30 00:30:48.975 805-9787/? I/libgps: [proxy__gnss_request_location] ignored (0, 0) -> (0, 0)
2020-12-30 00:30:48.976 17499-26939/? I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-12-30 00:30:48.976 17499-26939/? I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-12-30 00:30:48.976 791-863/? D/EnterpriseController: netId is 0
2020-12-30 00:30:48.976 791-863/? E/Netd: getNetworkForDns: getNetId from enterpriseCtrl is netid 0
2020-12-30 00:30:48.976 791-863/? D/DnsProxyListener: DNSDBG::dns addrinfo af 2 - 10483
2020-12-30 00:30:48.977 964-9630/? D/CAE: doCommendProcess(ContextAwareService.java:452) - complete notify the operation result.
2020-12-30 00:30:48.977 964-9630/? I/CAE: displayUsedCountForService(ContextAwareService.java:544) - totalCnt = 1, serviceCount = 1, subCollectionCount = 0
2020-12-30 00:30:48.977 964-9630/? D/CAE: showListenerList(ContextAwareService.java:377) - ===== Context Aware Service List =====
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@3d5f7bf, Service : FREE_FALL_DETECTION(1)
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@9e8ed5c, Service : SLOCATION_AR_DISTANCE_RUNNER(1)
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@97c680a, Service : SLOCATION_RUNNER(1)
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@b02505e, Service : ACTIVITY_TRACKER_BATCH(1)
2020-12-30 00:30:48.977 17499-26938/? I/mali_winsys: new_window_surface() [1080x1947] return: 0x3000
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@c5a7a61, Service : ANY_MOTION_DETECTOR_RUNNER(1)
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@8500f7d, Service : AUTO_ROTATION(1)
2020-12-30 00:30:48.977 964-9630/? I/CAE: showListenerList(ContextAwareService.java:386) - Listener : com.samsung.android.contextaware.manager.ContextAwareService$Listener@4639dae, Service : SENSOR_STATUS_CHECK_RUNNER(1)
2020-12-30 00:30:48.977 17499-26938/? I/mali_egl: eglDestroySurface() in
2020-12-30 00:30:48.977 964-9630/? W/CAE: registerCallback(ContextAwareService.java:191) - [regi 02] Mutex is unlocked for SENSOR_STATUS_CHECK_RUNNER
2020-12-30 00:30:48.977 964-9630/? E/SemContext.CaeProvider: setAttribute() : attribute is null!
2020-12-30 00:30:48.978 964-9630/? W/Binder: Outgoing transactions from this process must be FLAG_ONEWAY
    java.lang.Throwable
        at android.os.BinderProxy.transact(BinderProxy.java:494)
        at com.samsung.android.hardware.context.ISemContextCallback$Stub$Proxy.getListenerInfo(ISemContextCallback.java:162)
        at com.samsung.android.hardware.context.SemContextService$ListenerManager.notifyListeners(SemContextService.java:1293)
        at com.samsung.android.hardware.context.SemContextService.registerCallback(SemContextService.java:214)
        at com.samsung.android.hardware.context.ISemContextService$Stub.onTransact(ISemContextService.java:156)
        at android.os.Binder.execTransactInternal(Binder.java:1056)
        at android.os.Binder.execTransact(Binder.java:1029)

여기까지 나온 이후 하기 로그가 계속해서 반복됩니다. 부디 저희에게 한줄기 빛이 되어주시길 ㅠㅠ

2020-12-30 00:43:50.141 17499-30064/? W/libEGL: EGLNativeWindowType 0x704bd53010 disconnect failed
2020-12-30 00:43:50.142 17499-30064/? I/mali_winsys: new_window_surface() [1080x1947] return: 0x3000
2020-12-30 00:43:50.142 17499-30064/? I/mali_egl: eglDestroySurface() in
2020-12-30 00:43:50.142 17499-30064/? I/mali_winsys: delete_surface() [1080x1947] return
2020-12-30 00:43:50.142 17499-30064/? I/mali_egl: eglDestroySurface() out
2020-12-30 00:43:50.142 517-2931/? E/BufferQueueProducer: [SurfaceView - com.smallticket.petping/ai.comake.petping.ui.home.HomeActivity@5c38de5@0#0] disconnect: not connected (req=1)

새해복 많이받으세요!!
카카오맵 담당자 계시면 본 질문건 한번만 더 확인 부탁드리겠습니다.

@mmadmin

위와 같이 안드로이드 SDK 사용 시 에러가 발생한다고 하는데요.
혹시 관련해서 검토 가능하실지 멘션드려요.

확인 부탁드립니다.
감사합니다.

올려주신 로그만으로는 원인 파악이 쉽지 않을 것 같습니다.

위와 같이 Manifest에 http 통신 허용하는 옵션을 켜 두셨는지 확인 해 보시고 되는지 확인 부탁 드립니다.

1개의 좋아요

@mmadmin
확인 감사드립니다.
android:usesCleartextTraffic=“true"
android:networkSecurityConfig=”@xml/network_security_config"
위와 같이 config는 처음부터 켜져있었기에 debug모드에서는 잘 활용했었는데요…

이슈가 있어 약 2주간 끙끙대며 디버깅하던 끝에 카카오 지인의 도움을 받아 해결했습니다… ^^;;
해답은…

Debug모드에서는 KakaoSdk.init 부분에 app key를 넣어주는 것으로 인증이 잘 되고
Release모드에서는 AndroidManifest 에도 Metadata로랑 oauth로 넣어줘야 동작이 되는 걸 확인했습니다…

다른 분들은 삽질하지 않으시길 바라는 마음에 공유드립니다.
도와주신 모든 분들 감사해요…!