안드로이드 개발 팁 블로그

Android언어 리소스 자동화 (2018.4 수정) 본문

Android Tip

Android언어 리소스 자동화 (2018.4 수정)

tiii 2018.04.20 18:09


2018.4 수정

기존의 방식이 권한 문제로 정상적으로 작동하지 않아 수정하였습니다.

    • gdata 삭제
    • gspread 추가
    • Oauth2 인증 추가

이 포스팅은 잔디(JANDI)의 포스팅 https://tosslab.github.io/android/2016/02/12/Android-and-automation/을 기반으로 하고 있습니다.

본 프로젝트에 대한 소스는 깃헙에서 받으실 수 있습니다.(https://github.com/leeyc09/L10nStringResourceAutomation)

저희 회사에서는 언어 리소스 요청을 메신저를 통해 별도의 엑셀 문서로 처리하고 있었으나 요구사항과 수정사항이 많아 질 수록
반복되는 작업과 iOS, Android, Web등 플렛폼이 다양해 지면서 언어 리소스 버전관리가 어려워 졌습니다. 
GDG에서 발표하신 정승욱님(엯GDE촋)의 포스팅을 읽고 시스템을 구축하고자 마음 먹었습니다.

해당 시스템을 구축하고 적용함에 있어서 개발자들에게 파이썬 설치나 리소스 관리를 구글DOCS에서 해야하는 정책 제약사항이 있지만 
언어 리소스 관리를 일원화 하여 관리함으로써 언어 리소스 파편화를 막고 항상 최신으로 유지할 수 있으며 단순 반복 일이 줄어 드는 긍정적인 효과가 있었습니다. 

Google Script도 Python도 모르는 개발자가 이틀만에 만든 날림 소스니..
수정사항이나 더 나은 방법이 있으면 덧글로 언제나 환영합니다.

전체적인 프로세스는 기반이 된 JANDI의 포스팅과 동일 합니다.




목차

  1. Python 설치

  2. setuptools을 설치

  3. pip 설치

  4. oauth2client 업데이트

  5. gspread 설치

  6. Google Developers Console에 키 만들기

  7. SpreadSheet api 사용 설정

  8. 구글 시트 만들기

  9. 구글 시트 스크립트 추가하기

  10. 프로젝트에 파이썬 스크립트 복사

  11. 그래들 추가

  12. 테스트



  1. Python 설치
    Python 2.7 버전을 설치합니다. 맥에는 기본적으로 설치되어 있습니다.
    윈도우를 사용하시는 분들은 이 링크를 참고하시고 설치해 주시기 바랍니다.


  2. setuptools을 설치
    Setuptools는 가장 중요한 파이썬 서드파티 소프트웨어입니다. 표준 라이브러리인 distutils의 패키징 기능과 설치 기능을 확장한 것입니다. Setuptools를 파이썬 시스템에 설치하면 어떤 파이썬 소프트웨어 제품이라도 명령어 한 줄로 설치할 수 있습니다. . 다음 링크에서 설치 파일을 다운받으세요.
    powershell의 경우 아래 명령을 사용하시면 됩니다.

    $ wget https://bootstrap.pypa.io/ez_setup.py -Outfile ez_setup.py
    

    콘솔에서 아래 명령으로 설치하세요.

    $ python ez_setup.py 
    

    일반적으로 C:\python27\Scripts에 설치되고 이미 환경변수에 등록해 놓았으므로 바로 실행됩니다. 

  3. pip 설치

    아래와 같이 명령을 주어 pip를 설치하세요.

    $ easy_install pip
    

    콘솔에서 pip를 입력해 설치가 정상적으로 이루어졌는지 확인하세요.

  4. oauth2client 업데이트

    아래와 같이 명령을 주어 Google Oauth2Client를 설치하세요.

    $ pip install --upgrade oauth2client


  5. 2018년 추가사항

    기존 gdata를 통해 데이터를 가지고 오던 방식이 인증오류로 인해 사용이 불가능 해졌습니다.  

    이후 추가된 내용입니다.

  6. gspread 설치

    아래와 같이 명령을 주어 gspread를 설치하세요. gspread는 python에서 구글 스프레드 시트를 관리할 수 있는 라이브러리 입니다.

    $ easy_install gspread 
    



  7. Google Developers Console에 키 만들기
    참고 (
    http://gspread.readthedocs.io/en/latest/oauth2.html)

    1. 리소스 매니저에서 새로운 프로젝트를 생성합니다. 이미 프로젝트가 있다면 선택 하셔도 됩니다.

    2. 왼쪽 위 햄버거 메뉴 - API 및 서비스 - 라이브러리로 이동하여 Google Sheets API를 활성화 합니다.



  8. SpreadSheet api 사용을 위한 key생성하기







    사진과 같이 JSON 타입으로 생성하면 아래와 같은 파일이 다운로드 됩니다.


    해당 키 파일로 리소스 접근이 가능하니 유출되지 않도록 주의 하시기 바랍니다. (.gitignore에 추가하세요.)


    {
    "private_key_id": "2cd … ba4", "private_key": "-----BEGIN PRIVATE KEY-----\nNrDyLw … jINQh/9\n-----END PRIVATE KEY-----\n", "client_email": "473000000000-yoursisdifferent@developer.gserviceaccount.com", "client_id": "473 … hd.apps.googleusercontent.com", "type": "service_account" }
  9. 구글 시트 만들기
    https://docs.google.com/spreadsheets에서 새로운 구글시트를 생성합니다.


    첫 행은 헤더입니다. 순서대로  영문(기본), 한글, 일본어, iOS key, Android Key 대로 작성해 주시면 됩니다.
    구글 번역 함수를 이용하여 처리 할 수도 있습니다.

    예> =GoogleTranslate($A$2, "en", "ko")



  10. 구글 시트 스크립트 추가하기








    깃헙
    에 있는 소스를 복사하여 붙여넣기 후 저장합니다.
    이후 생성한 스프레드 시트를 확인하면 새로운 메뉴가 추가 된 것을 확인 할 수 있습니다.




  11. 안드로이드 용 리소스 시트 만들기
    리소스 만들기 - Android Resource sheet를 클릭하면 아래와 같이 별도의 스프레드시트 파일이 생성 됩니다.




    새로 생성된 파일을 열어 오른쪽 위 공유버튼에서 링크를 알고 있는 사람들에 대한 권한을 읽기 권한으로 변경합니다.

    그리고 생성된 파일의 주소 https://docs.google.com/spreadsheets/d/1fsgo9QFlc9Y2GxIef_4pn-hYup03m6dBVS....Bs 
    gdoc 아이디를 클립보드에 저장해 두시기 바랍니다.


  12. 프로젝트에 파이썬 스크립트 복사
     project - app - script 폴더를 생성하여 깃헙에서 파이썬 스크립트 파일을 복사합니다.


    7번 과정에서 다운 받은 json 키 파일도 같이 저장합니다.


  13. build.gradle 코드 추가

  14. 테스트



15 Comments
댓글쓰기 폼