이제야 겨우 아래 스샷처럼 상단바 시계 색상을 바꿀 수 있게 되었습니다 ^^
우선 저는 아직 sk22 버전 상태임을 밝혀둡니다.
sl28 버전에서는 line의 위치가 다를 수 있으니, sl28 상태에서 변경하시려는 분은 정확한 위치를 직접 찾아내셔야 합니다.
썩 복잡한 위치는 아니니 제 글의 line 정보들과 비교해서 보시면 어렵지 않게 찾아내실 듯합니다.
그럼 지금부터 설명에 들어가겠습니다.
우리의 타겟 파일은 services.odex 파일을 services.jar 파일과 데오덱스 해서 추출해낸 classes 폴더 맨 안쪽의 status 폴더에 있는
StatusBarIcon.smali 파입니다.
위치는 line59
원본 파일을 아래처럼 바꿔주시면 됩니다.
.line 59
.local v2, layoutParams:Landroid/widget/LinearLayout$LayoutParams;
const/16 v6, 0x0
const v7, -16711936
invoke-virtual {v4, v6}, Landroid/widget/TextView;->setVisibility(I)V
원본 파일에 통째로 붙여넣기 해주신 뒤 붉은색 숫자를 원하시는 색상코드 숫자로 바꿔주시면 됩니다.
원본 파일은 변형해버려서 기억이 정확하지는 않습니다만,
sk22 버전에서는 const/high16 v6, 0x42~~ 이런 식이었고
두 번째 const v7 라인이 없으며
그 아래줄 맨 마지막 단어가 setTextSize 어쩌고 이런 식이었습니다.
바로 아래 라인에 (이건 원본과 같으니 그저 참고만 하시면 됩니다.)
.line 60
invoke-virtual {v4, v7}, Landroid/widget/TextView;->setTextColor(I)V
이렇게 텍스트 컬러에 관한 명령어가 연계되어 있습니다.
line 59 만 찾으셔서, 제가 언급한 것과 같은 형태임을 먼저 확인 후
붙여넣기 등으로 수정을 해주신 뒤 붉은색 숫자 위치에 원하는 색상의 코드 변형 시킨 숫자를 입력해주시면 됩니다.
참고로 검은색 빨간색 파란색 초록색 흰색 노란색 등등의 메이저 색상 정도만이 변형 후 제대로 인식되는 듯합니다.
나머지 세밀한 색상들은 올바로 인식하지 못하거나 다른 색상으로 표시될 수도 있습니다.
끝으로
smali 파일의 수정법에 관한 글을 처음 보시는 분들은 우선 떡님의 스크린락 통신문구 변경법을 읽어보시기를 권하며,
이후 저의 통신문구 변경 관련 글들을 아래것들부터 순서대로 읽어보시기 바랍니다.
변경법을 아시는 분들은 떡님 명령어를 응용하시면 되며, 스스로 응용이 어려우신 분들은
역시 저의 통신문구 변경 관련 최신 글을 읽어보시면 됩니다. 퀵패널 문구 수정이라 이것과 같은 services.odex 파일로 변형하는 것이라
명령어 응용하는 법까지 설명이 되어 있습니다.
이번 만큼은 왠지 추천 받고 싶은 심정입니다 ^^ 아 정말 이게 뭔 장기 미션 삽질이람~^^