2011-03-17 2 views

답변

4

, 당신은 당신의 장치에 안드로이드 소스의 일부 파일을 수정할 상상의

덕분에 (예를 들어, 당신은 실행기 리소스에 추가 문자열을 추가 할). Android의 실제 소스는 수정하지 않는 것이 좋습니다.

대신 Android의 실제 파일 시스템 경로 레이아웃을 모방 한 오버레이를 만들고 변경된 파일을 배치하십시오. Laucher의 문자열의 경우, 경로에 해당하는 디렉토리를 생성합니다. packages/apps/Launcher2/res/values 수정 된 파일을 넣습니다. strings.xml

따라서 장치를 빌드하면이 파일이 대체됩니다.

+0

좋아요, 이것은 리소스에만 해당되며 Java 소스는 ​​아닙니다 pressume? –

+0

Java에 대해서도 추측하지만 아직 확인하지 않았습니다. – Yury

+2

내가 수집 할 수 있었던 것부터, Java 소스 파일이 아닌 자원에서만 작동합니다. 따라서 유용성은 제한된 IMO입니다. @Yury : Java 소스 또는 더 읽을 수있는 참조와 함께 사용하는 예가 있습니까? –

3

오버레이는 리소스 파일을 사용자 정의하는 방법으로 소스 파일에는 사용할 수 없습니다.

문자열 단위로 대체합니다. 즉, 오버레이 파일에없는 문자열의 경우 원래 문자열의 해당 문자열이 사용됩니다. brief documentation에서

:

안드로이드 빌드 시스템은 빌드시에 제품을 사용자 정의 할 자원 오버레이를 사용합니다. 리소스 오버레이는 기본값 위에 적용되는 리소스 파일을 지정합니다. 리소스 오버레이를 사용하려면 프로젝트 빌드 파일을 수정하여 PRODUCT_PACKAGE_OVERLAYS를 최상위 디렉토리와 관련된 경로로 설정하십시오. 이 경로는 빌드 시스템이 자원을 검색 할 때 현재 루트와 함께 검색되는 섀도우 루트가됩니다.

가장 일반적으로 사용자 정의 된 설정은 frameworks/base/core/res/res/config.xml 파일에 포함되어 있습니다.

관련 문제