fairworld's life

services.jar, services.odex 작업 본문

갤럭시탭 M180K 끄적임

services.jar, services.odex 작업

fairworld 2011. 12. 19. 13:08
1. 갤럭시탭 전면 터치버튼 조명 시간 변경
순정 services.odex를 baksmali하고
com/android/server/PowerManagerService.smali 파일을 수정한다.

순정 기준으로 기본값이 백라이트 타임아웃이 6초다.
이 값은 다시 ms로 6000이고 이걸 16진수로 돌리면 0x1770이다.

즉 0x1770 값을 검색해서 원하는 값으로 변경하면 된다.

0x1770 값은 총 6개가 검색이 된다.
모조리 바꾸자. 

6초는 너무 짧으니 15초로 변경한다고 해보면
15초는 다시 ms로 15000이다.
이걸 16진수로 변경해보자(윈도우 기본 계산기를 이용)

그럼 0x3a98 이 된다.

0x1770 => 0x3a98로 일괄 변경한다.

저장한다음 smali를 다시 smali.jar를 이용해서 classes.dex로 만들어준다.

만들어진 classes.dex는 services.jar에 압축프로그램을 이용하여 추가해서 업데이트해준다.

그리고 나서 만들어진 services.jar를 dexopt-wrapper를 이용해서 기기에서 odex 작업해준다.

그리고 나서 /system/framework/에 넣고 재부팅해주면 적용 완료
시계를 들고 시간을 재보면 재부팅 후 터치버튼 백라이트 시간이 제대로 변경된 것을 확인할 수 있다. 

===========================================================================================
이하는 작업하면서 기록한 순서 및 명령어 모음

# deodex (baksmali)
F:\Backup\82 Mobile\deodex\TK09_system\framework>java -jar ..\..\baksmali-1.3.0.jar -a 10 -x services.odex -c :core-junit.odex

# smali 수정
F:\Backup\82 Mobile\deodex\Button Backlight(TK09)\원본\services\com\android\server\PowerManagerService.smali

0x1770이 10진수로 6000 (즉 6초)
이걸 늘려서 적용

30초로 늘려보자(0x7530)

# smali 작업
F:\Backup\82 Mobile\deodex\Button Backlight(TK09)\0.1>java -jar ..\..\smali-1.3.0.jar -o classes.dex services

# dexopt-wrapper
copy /y services.jar services.zip
copy /y 0.1\classes.dex 
..\7za.exe u services.zip classes.dex
copy /y services.zip services.jar
del classes.dex
del services.zip