안드로이드의  현재 설정  언어/국가/timezone 등은 

/data/property 디렉토리에  

persist.sys.timezone
persist.sys.language
persist.sys.country

이런 파일명으로  저장되어 있습니다. 

설정에서  언어들 바꾸고,  위 위치에 가서  cat 등으로 보시면 저장된 값이 바뀌어 있는 것을 보실 수 있습니다. 


즉,  부팅시에  이 파일이 있으면  해당 언어로  안드로이드 OS가 구동이 된다는 것입니다. 



그럼,  위 파일을  저장해 주는  방법이  OS 빌드 중에 어딘가에 있겠지요. 

이것은  init.rc 파일에 적어주면 되더군요. 

OS의 소스 디렉토리 중에서  

vender/업체/프로젝트/  로 된 디렉토리에 가시면,  init.rc 파일이 있는데요. 

01.# killed by the kernel.  These are used in ActivityManagerService.
02.setprop ro.FOREGROUND_APP_ADJ 0
03.setprop ro.VISIBLE_APP_ADJ 1
04.setprop ro.SECONDARY_SERVER_ADJ 2
05.setprop ro.BACKUP_APP_ADJ 2
06.setprop ro.HOME_APP_ADJ 4
07.setprop ro.HIDDEN_APP_MIN_ADJ 7
08.setprop ro.CONTENT_PROVIDER_ADJ 14
09.setprop ro.EMPTY_APP_ADJ 15
10. 
11.# for  default langudage
12.setprop persist.sys.language ko
13.setprop persist.sys.country KR
14.setprop persist.sys.timezone Asia/Seoul


위의  아래쪽 3줄 처럼 넣어 줍니다. 

setprop 의  위치가 중요하지는 않을 수도 있는데요. 
전 저 위치에 넣었습니다. 

이렇게 해서 OS를 빌드하면, 

최초 실행시에도 한글로  나온답니다. 

출처 : http://www.androidpub.com/203240 

build\target\product\sdk.mk or core.mk 등에서 사용되기도 함.
 

설정의 언어 목록을 수정하는 방법은 바이너리 빌드시에 Product.mk 파일을 수정해 주면 된다.

기본적으로 Product.mk 파일은 device/[company]/[Project]/Product.mk 또는 [Project Name].mk로 존재 합니다. 

PRODUCT_LOCALES := en_US ko_KR 이렇게 작성하면 목록에는 영어와 한국어 두개만 나타나게 된다.
 
그리고 Locale Default로는 en_US로 사용됩니다.

+ Recent posts