JeffGuKang / react-native-kakao-login

React Native module for kakao login sdk: rn-kakao-login
73 stars 15 forks source link

kakao expo-andorid 만 오류가 납니다.. #29

Closed XOneto9 closed 4 years ago

XOneto9 commented 4 years ago

expo eject를 통해 진행하고 있습니다. 우선 아이폰은 잘 실행이 되는데 안드로이드는 에러가 나내요 ㅠㅠ

제가 안드쪽을 모르다 보니 자문을 구하게 되었습니다. 에러는 다음과 같습니다.

스크린샷 2020-05-06 오후 11 07 35

Version

  1. android/build.gradle

    mavenCentral()
    maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
    를 추가 하였습니다.
  2. AndroidManifest.xml에 앱키 등록 경로는 android/app/src/main/AndroidManifest.xml에 설정하였습니다.

    <meta-data android:name="com.kakao.sdk.AppKey" android:value="{나의 카카오 앱키}" />
    앱키만 넣어주었습니다.
    name="com.kakao.sdk.AppKey" 이부분은 그대로 작성하였습니다.
  3. Proguard android/app/proguard-rules.pro 에 넣었습니다.

    -keep class com.kakao.** { *; }
    -keepattributes Signature
    -keepclassmembers class * {
    public static <fields>;
    public *;
    }
    -dontwarn android.support.v4.**,org.slf4j.**,com.google.android.gms.**
    그대로 작성하였습니다.

끝으로 키해쉬는 expo가 android 폴터에 키스톤을 생성하였으므로 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64 터미널에서 위의 명령어로 키값을 얻어 카카오 키해쉬 값에 넣었습니다.

이렇게 설정하였는데요 혹시 문제가 있었을까요? 어디가 문제 였을까요..?..

아이폰은 잘 되는데 안드는 시뮬레이터로 진행하여 하였습니다만 잘 안되네요...안드노알못이라...하.. 감사합니다.

XOneto9 commented 4 years ago

자답합니다.

우선 몇가지 환경 상태를 말씀드립니다. 저는 expo를 사용하려 eject를 하였고 이를 통해 앱을 만들었습니다.

  1. expo 업데이트, 기존 sdk 36에서 sdk 37오 판을 올렸습니다.
  2. 그리고 AndroidManifest.xml에서 backup="ture"로 변경해 주었고.
  3. build.gradle 에서
allprojects {
    repositories {
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }

        google()
        jcenter()
        maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' } <= 요기 추가
    }
}

/* 아래 전부 추가 */
subprojects {
    repositories {
        mavenCentral()
    }
}

추가를 하였습니다. 제가 안드로이드 쪽을 몰라서 사실 저중에 어떤걸로 인해 해결이 되었는지 잘 모르겠습니다.

이상입니다.