본문 바로가기

☆ 테마제작관련 ☆/테마제작강좌

[해외자료 포팅] 갤럭시 시리즈 삭제된 설정 복구 방법



갤럭시 시리즈 삭제된 설정 복구 방법 / 갤럭시 시리즈 포팅

갤럭시 시리즈 삭제된 설정 되살리기 (갤럭시S2,갤럭시노트) 강좌

- 같은 기종 해외향 기능 중 국내펌웨어에서 삭제된 기능 되살리기 입니다. -




이글은  "Hax 빙글님의 초빙 강좌" 입니다.

제가 알고 있는 분 중 Odex관련 지식이 가장 뛰어나신 분입니다.^^







한국 펌웨어라던지, 유출 젤리빈이라던지 뜯어보시면 삭제된 부분들이 많습니다.

예를 들자면, 1% 배터리 설정, 물결락 설정, 스마트 로테이션 설정...

그런데 이걸 되살리는 방법이 아주 쉽다는 것 알고 계시나요?




방법은 아주 간단합니다. deodex<-->smali 방법과 smali를 수정할 줄만 아시면 가능합니다!





그럼 강좌 내용을 확인 해 볼까요?


일단 SecSettings.odex를 deodex한 뒤 디컴파일(baksmali)해줍니다.
그러면 폴더와 smali파일이 막 생성되는데, 저는 유출빈에서 물결락 체크박스 되살리는 방법을 기준으로 설명해드리겠습니다.
com\android\settings 로 가시면 smali파일들이 아주 많습니다.
그 중, LockScreenSettings.smali 를 엽니다.
그럼 대놓고



.field private mRippleEffect:Landroid/preference/CheckBoxPreference;

라는 부분이 있습니다. 이게 물결락 체크박스입니다.
mRippleEffect를 쭉 검색해서 내려가시면,


invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;

    move-result-object v9

    iget-object v10, p0, Lcom/android/settings/LockScreenSettings;->mRippleEffect:Landroid/preference/CheckBoxPreference;

    invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z



라는 부분이 있는데요, remove, 딱 봐도 제거란 느낌이 오죠?
이 부분을 지워주면 물결락 설정이 돌아옵니다.




같은 원리로, 스마트 로테이션은 DisplaySettings.smali의

invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;

    move-result-object v12

    iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mSmartRotation:Landroid/preference/CheckBoxPreference;

    invoke-virtual {v12, v13}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z


부분을 지워주시면 돌아옵니다.






젤리빈 올라가면 해외젤리빈 기능 중 국내 펌웨어 오면서 삭제된 부분을 살려 볼께요^^




"포스팅 제공해주신 Hax 빙글님 감사드립니다. ^^"

이상으로 갤럭시 시리즈 삭제된 설정 복구 방법 방법에 대하여 포스팅을 마치도록 하겠습니다.