덕질을 위해 사는 개발자

[Android] 카카오맵 지도가 안나온다 :: D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000W/libEGL: EGLNativeWindowType 0x7278995010 disconnect failed 본문

Android

[Android] 카카오맵 지도가 안나온다 :: D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000W/libEGL: EGLNativeWindowType 0x7278995010 disconnect failed

규달봉 2021. 5. 15. 20:20

 

문제 발생

 

안드로이드에서 지도가 떠야 하는데 지도가 안뜨면서 다음과 같은 error가 났다.

 

D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000W/libEGL: EGLNativeWindowType 0x7278995010 disconnect failed

 

 

 

 

해결 방안

 

다음을 확인해보자!

 

1. KaKao Developers 사이트에서 네이티브 앱 키 확인

2. 위와 같이 libs, jniLibs 넣었는지 확인

 

https://apis.map.kakao.com/android/guide/ 에서 다운로드 할 수 있다.

 

 

 

3. AndroidManifest.xml 에 아래 meta-data를 <application> </application> 안에 넣기

 

<meta-data android:name="com.kakao.sdk.AppKey" android:value="XXXXXXXXXXXXXXXXXXXXXXXXXXXX"/>

 

 

 

 

4. build.gradle(:app)에 implementation files('libs/libDaumMapAndroid.jar') 넣기

 

 

 

 

5. 키 해시 값을 다시 생성하기

 

아래 코드를 사용하면 키 해시 값을 생성할 수 있다. ( 아래 코드는 References에 있는 블로그에 있는 코드입니다. )

private void getDebugHashKey(){
        PackageInfo packageInfo = null;
        try {
            packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
            if (packageInfo == null)
                Log.e("KeyHash", "KeyHash:null");
            else{
                for (Signature signature : packageInfo.signatures) {
                    MessageDigest md = MessageDigest.getInstance("SHA");
                    md.update(signature.toByteArray());
                    Log.d("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                }
            }
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

    }

 

 

 

저는 3번 방법으로 해결습니다.

 

meta-data를 <activity>에 넣어버린게 문제였죠! oh my god!!!!!!!

설명서를 잘 보자!!!!!!!!!!!!!!!!!!!

 

 

References

 

https://it-and-life.tistory.com/339

 

[Android/카카오API지도] mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_win

[에러문] D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000 Disconnected from the target VM, address: 'lo..

it-and-life.tistory.com