Android Studio



서명된 apk를 생성하고 기존 마켓버전에서 업데이트 되나 설치해보는데 자꾸 설치가 실패했다.


versionCode, versionName 모두 +1씩 해주었는데도 말이다.


알고보니 안드로이드 스튜디오는 AndroidManifest.xml 에서 버전코드와 네임을 관리하는게 아니었다..



기존 이클립스에서 AndroidManifest.xml 을 살펴보면



이렇게 되어있는데 안드로이드 스튜디오는 build.gradle 에서 변경해주어야 한다.


들어가보니 프로젝트를 처음 생성해서 versionCode 와 versionName이 모두 1로 되어있었다.




그래서 AndroidManifest.xml 에 있는 버전보다 +1 변경해주었다




그리고 다시 apk를 생성하고 업데이트 설치를 해보니 정상적으로 되었다!








Android Studio 에서 서명된 apk를 생성하려고 했더니 이런 에러가 떴다.


Error:(24) Error: "none" is not translated in "en" [MissingTranslation]

(*어느 언어냐에 따라 "en" "vi" "th" 등등 다르게 나타남)


보니까 다국어에서 문제가 생겼는데 프로젝트는 이클립스에서는 문제가 없었던 거였다.



그래서 찾아보니 안드로이드 스튜디오에서는 string.xml 이 모두 같아야 한다고 한다.


즉 위 에러를 보면


<string name="none">none</string>


이 코드가 "vi"에서 번역되지 않았다고 뜬다. 베트남어에서 none 항목이 없다는 것이다.


현재 다국어 구조가



이렇게 한국,영어,대만,베트남 4개로 되어있는데


베트남의 string.xml 에만


<string name="none">none</string>


이 항목이 번역되지 않았다는 것이다.



이 문제를 해결하려면


values-vi 의 strings.xml 로 들어가


<string name="none">none</string>


이걸 추가해준 뒤 다시 서명된 apk를 생성하면 해결된다.





프로젝트 내에 libs 폴더를 만들고 안에 라이브러리 파일은 넣은 후 우클릭

Add as Library 클릭





나오는 창에서 app을 선택 후 ok 하면 추가된다.





+ Recent posts