AOSP 시스템 설정 값 위치는 아래 두 위치에 있습니다. [Android Root]에서* ./frameworks/base/packages/SettingsProvider/res/values/defaults.xml * ./frameworks/base/core/res/res/values/config.xml 보통 장치 제조사의 기본 설정값은 아래의 위치에 있습니다. * ./device/(company name)/(product name)/overlay/frameworks/base/core/res/res/values/config.xml 빌드시 위의 파일을 원래 파일에 덮어 씁니다.
AOSP에서 Timezone이나 Language, Country같은 정보는 모두 System property에 저장되어 있습니다. 저장된 내용은 Native에서는 __system_property_get("key", data); Java에서는 System.getProperty(Key); 로 읽어 옵니다. Property에 값을 추가, 변경하는 방법은 다양하게 있지만, OS 빌드시 초기 값으로 설정하는 방법은 init.rc에 설정하는 것 입니다. 먼저 Property 설정은 * setprop persist.sys.language ko 같은 형식으로 합니다. 국가는 한국, Timezone은 Seoul, 언어는 한글로 설정하려면 * setprop persist.sys.language ko* setprop per..
Kconfig* Kernel에 새로운 장치를 추가하고, 해당하는 모듈을 추가하기 위해서는 먼저 Kconfig 파일을 알아야 합니다. * Kconfig를 정리하자면1. Tree구조로 된 Configuration option들의 집합으로 자신만의 종속성을 가지고 있음2. Child Entry는 Parent Entry가 선택되어 볼 수 있게 되었을 때만 보임.3. Menu entry들은 각각의 config option을 정의하고 있음.4. 각각의 config option들은 자신만의 type을 가지며, tristate, bool type이 있음.- tristate: - bool: 5. 이 type에 어떤 선택을 하느냐에 따라 Kernel에 해당 모듈을 포함하는 여부가 결정됨. (보통 make menuconfi..
Kernel을 빌드 할 때 어떤 Driver를 포함할지, 말지, 아니면 모듈로 포함할지 결정하기 위해서 config를 정의합니다. 보통 kernel의 root 디렉토리에서 $ make menuconfig 명령을 치면 아래와 같은 화면이 출력 됩니다. 설정 이후 저장 하면 .config 파일로 저장되며, 이 파일을 빌드 옵션으로 사용할 수 있습니다. 예>$ cp .config arch/arm/configs/my_defconfig$ make my_defconfig $ make menuconfig 를 실행하면, Kernel 내의 Kconfig 파일들을 읽어 들여서 장치들의 목록을 트리 구조로 구조화 한 후 메뉴를 표시합니다. 옵션을 설정한 후 저장하면 .config로 표시되고 이를 arch/*/configs ..