DEU-Smiley / Smiley-Android-App

스마트 교정기 & 교정 관리 애플리케이션
1 stars 2 forks source link

카카오 sdk Appkey 분리 #28

Closed dongx0915 closed 1 year ago

dongx0915 commented 1 year ago

📝 Description

카카오 로그인 API를 사용하기 위해 필요한 Appkey를 코드에서 분리 local.properties에 작성해두고 불러와서 사용

📍 Todo

📢 To Reviewers

🔗 Reference

CI 에러 해결 참고 : https://keelim.tistory.com/entry/Github-Actions%EC%9C%BC%EB%A1%9C-%EA%B5%AC%EA%B8%80-%ED%94%8C%EB%A0%88%EC%9D%B4%EC%8A%A4%ED%86%A0%EC%96%B4-%EB%B0%B0%ED%8F%AC-with-google-servicesjson

https://sonseungha.tistory.com/623

dongx0915 commented 1 year ago

KakaoSdk 초기화 중 Manifest.xml에 versionCode와 versionName이 명시되어 있지 않으면 에러 발생

common.gradle에 정의해놔서 괜찮은 줄 알았는데 직접 명시해줘야 했다. gradle의 변수를 manifest.xml에서 참조할 수 있는 방법을 알아봐야 겠다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:versionCode="1"
    android:versionName="1.0.0"
    package="com.example.smiley">
dongx0915 commented 1 year ago

CI 빌드 에러

local.properties에 아래와 같이 카카오 앱 키를 작성해둠

KAKAO_SDK_APPKEY = "카카오 앱 키"

common.gradle에서 아래와 같이 local.properties의 앱 키를 불러와 프로젝트에서 사용하고 있었는데, CI 과정에서 빌드가 실패

/* 카카오 Appkey 변수로 등록(local.properties) */
buildConfigField "String", "KAKAO_SDK_APPKEY", properties["KAKAO_SDK_APPKEY"]

에러를 보니 위의 라인에서

A problem occurred evaluating script.
> Parameter specified as non-null is null: method com.android.build.gradle.internal.dsl.BaseFlavor.buildConfigField, parameter value

파라미터를 읽어올 수 없다는 에러 발생

원인

android.yml에 secrets에서 앱 키를 읽어온 후 local.properties에 작성하도록 해놨는데, 그냥 키 값만 적어서 에러가 발생

아래와 같이 KAKAO_SDK_APPKEY="키 값"의 형태로 key=value 형태로 작성해주어야 함

    - name: Access KAKAO_SDK_APPKEY
      env:
        APOD_API_KEY: ${{ secrets.KAKAO_SDK_APPKEY }}
      run: echo KAKAO_SDK_APPKEY=\"$KAKAO_SDK_APPKEY\" > ./local.properties