더 나은 경험을 위한 필수 안드로이드 Build.prop 트윅 22가지 – 2024년 업데이트
Build.prop이란 무엇인가?
안드로이드를 다른 운영체제보다 우월하게 만드는 한 가지는 사용자에게 제공하는 커스터마이징 수준입니다. 어떤 파일이든 설정할 수 있습니다. 이러한 개방성은 대규모 개발자 커뮤니티가 오픈소스 코드를 사용해 고급 사용자를 위한 새 기능을 추가하도록 장려했습니다. 그래서 어떤 운영체제보다 가장 큰 설치 기반을 가지고 있습니다.
Build.prop이 정확히 무엇인가요?
Build.prop은 Build Properties의 줄임말입니다. 기기에 대한 모든 정보를 담고 있는 시스템 폴더에 위치한 파일입니다. Build.prop을 트윅해 기기 동작을 변경할 수 있습니다. 이 파일은 보통 사용자에게 보이지 않으므로, 기기를 루팅해 내부 기능을 트윅해야 합니다.
Build.prop을 트윅하는 방법은?
루트 브라우저 지원이 있는 파일 관리자 앱을 사용해 Build.prop을 트윅할 수 있습니다. 앱 설치 후 System/Build.prop으로 가서 텍스트 에디터로 엽니다. 원하는 코드를 복사해 끝에 붙여넣고 저장을 누르면 끝입니다. 일부 트윅은 재시작해야 적용됩니다.
루팅된 안드로이드 기기를 위한 유용한 Build.prop 트윅들을 소개합니다. 안드로이드 젤리빈, 킷캣, 롤리팝, 마시멜로, 누가, 오레오, 파이, 안드로이드 10 버전에서 작동합니다. Build.prop 파일에서 지정된 항목을 찾아(없으면 추가) 언급된 대로 값을 변경하세요.
22. 더 부드러운 스크롤링
화면 스크롤할 때 폰이 그다지 부드럽지 않다고 느끼셨을 수 있습니다. 최소/최대 유체 속도를 변경해 이를 수정할 수 있습니다. 전반적인 스크롤 경험이 향상됩니다.
windowsmgr.max_events_per_sec=150
ro.min_pointer_dur=8
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000
persist.sys.scrollingcache=3
debug.sf.hw=1
21. 홈화면과 잠금화면 자동 회전
새 안드로이드 버전은 잠금화면에서 자동 회전을 지원하지 않습니다. 마찬가지로 수많은 OEM 런처와 기본 런처도 홈화면 자동 회전을 지원하지 않습니다. 걱정할 것 없습니다. 다음 명령어로 회전 기능을 활성화할 수 있습니다.
lockscreen.rot_override=true // 잠금화면용
log.tag.launcher_force_rotate=VERBOSE // 홈화면용
20. 더 빠른 인터넷 속도
사용 중인 안드로이드 기기에서 브라우징 속도가 만족스럽지 않거나 다운로드 속도가 느리다면, TCP 버퍼 크기를 늘려 개선할 수 있습니다. 또한 기기가 구글 DNS를 강제로 사용하게 하면 더 빠른 속도를 얻을 수 있습니다.
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4
19. 로그캣(Logcat) 수정
주로 디버깅에 사용되는 안드로이드 로그캣 파일 생성을 제어할 수 있습니다. 로그캣을 비활성화하면 비용이 많이 드는 디스크 읽기/쓰기를 줄일 수 있습니다.
logcat.live=disable
18. 통화 후 블랙스크린 문제 비활성화
음성 통화를 끊은 후 몇 초간 블랙스크린이 나타나는 것을 보셨을 수 있습니다. 이게 정기적으로 일어난다면 기기의 근접 센서가 제대로 작동하지 않는 것입니다. 근접 지연 값을 변경해 수정할 수 있습니다.
mot.proximity.delay=0
ro.lge.proximity.delay=25
17. 전화 즉시 울리기
전화가 오면 안드로이드 시스템은 보통 연결을 대기하고 확인한 뒤 전화벨이 울리도록 신호를 보냅니다. 하지만 기기가 평소보다 오래 걸려 벨이 울리기 시작한다면, 다음 줄을 추가해 변경할 수 있습니다.
ro.telephony.call_ring.delay=0
ring.delay=0
16. 음성 통화 품질 향상
음성 통화에 사용되는 AMR 오디오 코덱의 속성을 제어할 수 있습니다. 또한 통화 볼륨을 조절할 수 있습니다. 기본적으로 안드로이드는 통화용으로 7단계 오디오 레벨을 제공합니다. 이 숫자를 변경해 더 정밀하게 관리할 수 있습니다. 7~20 사이의 정숫값을 권장합니다.
ro.ril.enable.amr.wideband=1
ro.config.vc_call_steps=20
15. 이미지 품질 향상
처리 전력을 줄이기 위해 안드로이드는 이미지의 전체 콘텐츠를 표시하지 않습니다. 낮은 품질로만 렌더링하는데, 이는 충분히 좋지만 최고는 아닙니다. 기기가 이미지 처리 작업을 감당할 수 있다고 생각하면 하드웨어가 원본 품질을 표시하도록 강제할 수 있습니다.
ro.media.enc.jpeg.quality=100
14. 파노라마 이미지 해상도 증가
카메라 앱의 파노라마 모드가 더 높은 해상도로 사진을 저장하도록 강제할 수 있습니다. 모든 기기에서 지원되지 않을 수 있습니다.
ro.media.panorama.defres=10800x2442
ro.media.panorama.frameres=3264x1840
13. 빠른 부팅
기기가 부팅될 때 안드로이드와 함께 많은 서비스가 부팅됩니다. 앱이 많을수록 더 오래 걸립니다. 하지만 'quickpoweron'을 활성화해 기기가 더 빨리 부팅되게 할 수 있습니다. 이 과정에서는 대부분의 데이터가 최대절전 모드 파일로 저장돼 다음 부팅 시 로드돼 몇 초를 절약합니다.
ro.config.hw_quickpoweron=true
부팅 애니메이션을 비활성화하려면 아래 코드를 추가하세요.
debug.sf.nobootanimation=1
12. 화면 270도 회전
대부분 앱은 90° 회전만 선택합니다. 하지만 안드로이드 시스템은 90°, 180°, 270° 세 가지 기본 회전 각도를 지원합니다. 이 기능을 활용해 모든 앱을 270° 회전하도록 강제할 수 있습니다.
windowsmgr.support_rotation_270=true
11. 오류 프로파일러 수정
대부분 사용자에게 오류 프로파일링은 전혀 쓸모가 없습니다. 하지만 일부 앱이 오류 리포트 생성을 위해 이를 사용할 수 있습니다. 아래 코드를 추가해 오류 프로파일러를 활성화하거나 비활성화할 수 있습니다. 0은 활성화, 1은 비활성화입니다.
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
10. 화면 켜져 있는 동안 키 라이트 유지
백라이트 정전식 키가 있는 폰이라면 키 라이트를 누른 후 몇 초면 꺼지는 것을 보셨을 겁니다. 화면이 깨어 있는 동안 이 키 라이트를 영구적으로 켜두고 싶다면 백라이트의 타임아웃 값을 변경하세요.
ro.mot.buttonlight.timeout=0
9. 런처를 메모리에 상주시키기
안드로이드 런처 앱을 사용 중이라면 다음 코드를 추가해 메인 메모리(RAM)에 상주하도록 강제할 수 있습니다. 기기에 충분한 여유 메모리가 있어야 하며, 그렇지 않으면 렉과 성능 저하가 심각해집니다.
ro.HOME_APP_ADJ = 1
8. 배터리 절약
많은 안드로이드 기기에는 소니의 '스태미나(Stamina)'와 '울트라 스태미나(Ultra Stamina)' 모드처럼 백그라운드 서비스를 줄여 배터리를 아끼는 내장 배터리 절약 기능이 있습니다. 다음 코드를 추가해 직접 할 수 있습니다.
ro.mot.eri.losalert.delay=1000 // 이거 테더링 망가뜨릴 수 있음
ro.ril.power_collapse=1
pm.sleep_mode=1
wifi.supplicant_scan_interval=180
ro.mot.eri.losalert.delay=1000
power_supply.wakeup=enable
ro.config.hw_fast_dormancy=1
ro.config.hw_power_saving=1
7. 자동 오류 보고 비활성화
앱 크래시는 모든 플랫폼에서 흔합니다. 당연히 기분 좋지 않지만, 지속적인 오류 보고 알림은 더 짜증납니다. 다음 코드를 추가해 내장 오류 보고 기능을 없앨 수 있습니다.
profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1
오류 검사를 비활성화하려면 이걸 사용하세요 —
ro.kernel.checkjni=0
ro.kernel.android.checkjni=0
엄격 모드 검사를 비활성화하려면 이 줄을 추가하세요 —
persist.android.strictmode=0
6. 화면 DPI 변경
DPI는 Dots Per Inch의 약자로, 기기 해상도와 디스플레이 크기의 비율입니다. 보통 값은 160의 배수지만 원하는 아무 값이나 설정할 수 있습니다.
ro.sf.lcd_density=420
5. 와이파이 스캔 간격 변경
기본적으로 안드로이드는 15초 간격으로 와이파이 네트워크를 스캔합니다. 배터리를 아끼려면 다음 코드로 이 간격을 늘릴 수 있습니다. 값은 초 단위이므로, 예를 들어 10분으로 바꾸고 싶다면 120 대신 600을 넣으세요.
wifi.supplicant_scan_interval=120
참고: 안드로이드 앱 개발을 위한 유용한 도구 40+가지
4. 게임 경험 향상
폰으로 장시간 게임을 한다면 다음 코드를 끝에 추가해 보세요. 타일 렌더링을 활성화하고 처리 능력을 활용하며 3D 성능을 향상시킵니다.
persist.sys.NV_FPSLIMIT=60
persist.sys.NV_POWERMODE=1
persist.sys.NV_PROFVER=15
persist.sys.NV_STEREOCTRL=0
persist.sys.NV_STEREOSEPCHG=0
persist.sys.NV_STEREOSEP=20
persist.sys.purgeable_assets=1
debug.enabletr=true
debug.qctwa.preservebuf=1
dev.pm.dyn_samplingrate=1
video.accelerate.hw=1
ro.vold.umsdirtyratio=20
debug.overlayui.enable=1
debug.egl.hw=1
ro.fb.mode=1
hw3d.force=1
persist.sys.ui.hw=1
ro.sf.compbypass.enable=0
debug.sf.hw=1
debug.composition.type=c2d
persist.sys.composition.type=c2d
debug.performance.tuning=1
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.media.dec.aud.wma.enabled=1
ro.media.dec.vid.wmv.enabled=1
ro.media.cam.preview.fps=0
ro.media.codec_priority_for_thumb=so
3. MMS APN 재시도 타이머 수정
SMS/MMS 전송 실패 시 안드로이드는 5초 후 다시 전송을 시도합니다. 재시도 횟수와 간격을 변경할 수 있습니다. 다음 코드는 3초마다 3회 재시도를 강제합니다.
ro.gsm.2nd_data_retry_config=max/_retries=3,3000,3000,3000
2. 하드웨어 렌더링으로 터치 반응성 향상
안드로이드 시스템이 앱에서 각 2D 프레임 렌더링에 GPU를 사용하도록 강제할 수 있습니다. 안드로이드는 보통 화면을 프레임 단위로 렌더링하므로, 다음 코드는 렌더링을 GPU로 오프로드해 처리량을 늘리고, 더 나은 램 관리를 제공하며 경험을 더 부드럽게 만듭니다.
debug.sf.hw=1
persist.sys.ui.hw=1
debug.performance.tuning=1
video.accelerate.hw=1
debug.egl.profiler=1
debug.egl.hw=1
debug.composition.type=gpu
1. 동영상 스트리밍 가속
안드로이드는 '스테이지프라이트(Stagefright)'라는 미디어 프레임워크를 사용합니다. 스테이지프라이트가 더 개방적이고 단순하지만, 예전 오픈코어(OpenCore) 프레임워크에 비해 종종 버그가 많습니다. 하지만 개발자들이 안정성을 크게 개선했습니다. 새 프레임워크를 변경해 온라인 동영상 스트리밍을 더 빠르게 할 수 있지만, 일부 기기에서는 재생 안정성에 영향을 줄 수 있습니다. 경험을 망친다면 원래 값으로 되돌리세요.
참고: 안드로이드에 새 모습 입혀줄 서브스트라텀(Substratum) 테마 24가지
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
media.stagefright.enable-record=true