안녕하세요. 이제 첫글로 팁 게시물을 써보고자 합니다.^^ ㅎㅎ 두근~ 두근~
요번 팁은
.
.
.
잠금화면 추가시, 리붓시, "효과 없음" 으로 돌아오는 부분 픽스 하기.
입니다.....
요번에 세이님께서 S5 포팅룸을 포팅 하셨는데, 물론 모든 분은 아니겠지만, 몇몇분들은 잠금화면을 활성화에서 사용하시는 분이 있드라구요.
그냥 활성화 후, 설정하시게 되시면, 제부팅후 효과부분이 "효과없음" 으로 변경 될 것입니다. 그러하여,
이 부분이 에러 있다고 하시는 분들은 꼭 이 강좌을 참고해주시기 바랍니다.
이 강좌을 시작 하기전에,
★꼭!~ 루팅 및 디컴을 다를수 있으시는 분 그리고
강좌 시도중에 문제가 있을시, 절대로 "JHOLLEH" 에서 책임을 지지 않으며, 시작하기전에 백업! 이 필요로 합니다.★
"이 강좌는 XDA 회원님께서 가르쳐주신 바탕으로, 허락에 의해서 작성합니다.";
[준비단계]
- Keyguard.apk (기기는 해외 포팅 펌 S5 로 사용하였습니다.) 제 기종이 해외기종이라... 근데, 그 메소드 한 부분만 수정해주면 되기때문에, 그렇게 복잡하진 않을것 입니다.^^
- 디컴할 프로그램 (Apktool) 자바가 필요로 합니다.
- Notepad+ 및 문서 비교할 프로그램.
[시작하기]
일단, "Apktool" 로 Keyguard.apk 을 디컴 해줍니다.
디컴후에, /Keyguard\smali\com\android\keyguard 경로안에있는, KeyguardViewMediator.smali 을 열어주세요.
그럼 Ctrl+F 을 이용해 ".method private checkUnlockEffectVarification()V" 메소드을 찾아주세요.
ps. 찾을 실때는 "" 없애야 합니다.^^
찾으시면, 아래 처럼 수정 해주세요.
- 수정전
.method private checkUnlockEffectVarification()V .locals 5 .prologue const/4 v2, 0x0 const/4 v1, 0x1 .line 1644 iget-object v0, p0, Lcom/android/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v3, "lockscreen_ripple_effect" invoke-static {v0, v3, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I move-result v3 .line 1648 invoke-static {v3}, Lcom/android/keyguard/sec/KeyguardEffectViewMain;->isLockScreenEffect(I)Z move-result v0 if-nez v0, :cond_3 move v0, v1 .line 1657 :goto_0 const/4 v4, 0x5 if-ne v3, v4, :cond_0 move v0, v1 .line 1672 :cond_0 const/4 v4, 0x2 if-ne v3, v4, :cond_1 move v0, v1 .line 1678 :cond_1 if-ne v0, v1, :cond_2 .line 1679 iget-object v0, p0, Lcom/android/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v1, "lockscreen_ripple_effect" invoke-static {v0,v1,v2},Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z .line 1681 :cond_2 return-void :cond_3 move v0, v2 goto :goto_0 .end method |
- 수정후
.method private checkUnlockEffectVarification()V .locals 5 .prologue const/4 v2, 0x0 const/4 v1, 0x1 .line 1644 iget-object v0, p0, Lcom/android/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v3, "lockscreen_ripple_effect" invoke-static {v0, v3, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I move-result v3 .line 1648 invoke-static {v3}, Lcom/android/keyguard/sec/KeyguardEffectViewMain;->isLockScreenEffect(I)Z move-result v0 if-nez v0, :cond_4 move v0, v1 .line 1657 :goto_0 const/4 v4, 0x0 if-ne v3, v4, :cond_0 move v0, v1 .line 1672 :cond_0 const/4 v4, 0x0 if-ne v3, v4, :cond_1 move v0, v1 .line 1678 :cond_1 const/4 v4, 0x0
if-ne v3, v4, :cond_2 move v0, v1
.line 1679 :cond_2 if-ne v0, v1, :cond_3
.line 1680 iget-object v0, p0, Lcom/android/keyguard/KeyguardViewMediator;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v1, "lockscreen_ripple_effect" invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z .line 1681 :cond_3 return-void :cond_4 move v0, v2 goto :goto_0 .end method |
이렇게 변경 해주시면, 수정 완료가 됩니다.^^ 그리고 .line 1679 부분에 라인이 중복이 되서 하나 더 추가해주었습니다. 혹, 라인이 부족 하시면 아래 .line 1681 이랑 중복되지 않게 추가 해주시면 됩니다.^^
마지막으로 컴파일 해주시고, 퍼미션 권한 주신후, 재부팅 해주시면 끝!~
[끝!~]
제가 복잡 / 어렵게 설명하지 하지 않았는지, 걱정이 되군요~~
이렇게, 서툰 강좌에도 관심을 가져주셔서 진심으로 감사드립니다.^^
Ps. 오타가 있을수도 있어요... ㅠㅠ 이해 부탁드려욧~~
이상으로 첫번째인 글이자, 팁 강좌을 마치겠습니다.^^