갤포 펌웨어가 MF3로 업데이트되면서 이전대로 feature.xml 수정을 통해 ShutterSoundMenu를 활성화시킬 경우

카메라에서 촬영음 토글이 활성화되긴하지만, '꺼짐'을 선택할 수가 없어 무음 설정이 불가능해졌습니다.

카메라가 대폭 수정되면서 셔터음메뉴 부분이 설정할 수 없게 건드려져 있더군요.

이 문제를 해결하기 위해서는 ME7펌의 카메라 파일을 넣어주는 방법도 있겠지만,

그렇게 할 경우 업데이트가 되지 않은 예전 카메라를 사용하게 되는 것이기 때문에

MF3펌 카메라의 dex 수정을 통해 무음 설정이 가능하도록 바꿔주는 방법을 써보겠습니다.


셔터음메뉴 부분만 예전과 같은 코드로 바꿔주면 되는 작업입니다.

디오덱스/오덱스나 baksmaling/smaling 과정은 강좌가 많이 있기 때문에 생략하겠습니다.

---

1) 디오덱스된 SamsungCamera2.apk에서 classes.dex를 추출하여 baksmali 해줍니다.


2) com/sec/android/app/camera/CameraSettings.smali를 편집기로 열어줍니다.


3) .method public getCameraShutterSound()I 를 검색한 다음, 해당 메서드함수 전체를 아래의 코드로 교체해줍니다.
.method public getCameraShutterSound()I
    .registers 4

    .prologue
    iget-object v0, p0, Lcom/sec/android/app/camera/CameraSettings;->mActivityContext:Lcom/sec/android/app/camera/Camera;

    invoke-virtual {v0}, Lcom/sec/android/app/camera/Camera;->isCalling()Z

    move-result v0

    if-eqz v0, :cond_a

    const/4 v0, 0x0

    :goto_9
    return v0

    :cond_a
    invoke-virtual {p0}, Lcom/sec/android/app/camera/CameraSettings;->getPreferences()Lcom/sec/android/app/camera/ComboPreferences;

    move-result-object v0

    const-string v1, "pref_camera_shuttersound_key"

    const/4 v2, 0x1

    invoke-virtual {v0, v1, v2}, Lcom/sec/android/app/camera/ComboPreferences;->getInt(Ljava/lang/String;I)I

    move-result v0

    goto :goto_9
.end method
(apktool이나 apkmanager를 사용하여 디컴파일했을 경우 위 코드에서 registers 4를 locals 3으로 바꿔주세요.)


4) .method public setCameraShutterSound(I)V 를 검색한 다음 마찬가지로 메서드 전체를 아래의 코드로 교체해줍니다.
.method public setCameraShutterSound(I)V
    .registers 6
    .parameter "shuttersound"

    .prologue
    invoke-virtual {p0}, Lcom/sec/android/app/camera/CameraSettings;->getPreferences()Lcom/sec/android/app/camera/ComboPreferences;

    move-result-object v1

    const-string v2, "pref_camera_shuttersound_key"

    const/4 v3, 0x1

    invoke-virtual {v1, v2, v3}, Lcom/sec/android/app/camera/ComboPreferences;->getInt(Ljava/lang/String;I)I

    move-result v1

    iput v1, p0, Lcom/sec/android/app/camera/CameraSettings;->mShutterSound:I

    iget v1, p0, Lcom/sec/android/app/camera/CameraSettings;->mShutterSound:I

    if-eq v1, p1, :cond_42

    const-string v1, "CameraSettings"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;->()V

    const-string v3, "setCameraShutterSound "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->secV(Ljava/lang/String;Ljava/lang/String;)I

    iput p1, p0, Lcom/sec/android/app/camera/CameraSettings;->mShutterSound:I

    invoke-virtual {p0}, Lcom/sec/android/app/camera/CameraSettings;->getPreferences()Lcom/sec/android/app/camera/ComboPreferences;

    move-result-object v1

    invoke-virtual {v1}, Lcom/sec/android/app/camera/ComboPreferences;->edit()Landroid/content/SharedPreferences$Editor;

    move-result-object v0

    .local v0, editor:Landroid/content/SharedPreferences$Editor;
    const-string v1, "pref_camera_shuttersound_key"

    iget v2, p0, Lcom/sec/android/app/camera/CameraSettings;->mShutterSound:I

    invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor;

    invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V

    const/16 v1, 0x15

    invoke-virtual {p0, v1, p1}, Lcom/sec/android/app/camera/CameraSettings;->notifyCameraSettingsChanged(II)V

    .end local v0           #editor:Landroid/content/SharedPreferences$Editor;
    :cond_42
    return-void
.end method
(마찬가지로 apktool이나 apkmanager를 사용하여 디컴파일했을 경우 위 코드에서 registers 6를 locals 4로 바꿔주세요.)


코드 수정은 여기까지고,

이제 소스를 다시 classes.dex로 컴파일해준 다음, SamsungCamera2.apk에 넣어주면 끝입니다.

---

앞으로 있을 업뎃에서도 마찬가지로 셔터음 설정이 안된다면 계속 이 방법으로 수정해주면 되겠죠..

직접 수정하기 어려우신 분들을 위해 MF3펌의 카메라를 수정한 파일 첨부해두겠습니다.

첨부파일은 오덱스용과 디오덱스용, 두가지입니다.

Extra Form
첨부
(디오덱스용)SamsungCamera2.apk  [File Size:18.09MB/Download:246]
(오덱스용)SamsungCamera2.odex  [File Size:1.88MB/Download:194]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.
댓글 46
  • ?
    가츠
    13.06.24
    감사합니다. 이런건 추천!
  • ?
    감사합니다. [2.1.2/E300KKKUAMF3/4.2.2]
  • profile
    일단 추천드려요~~ 그런데 저같은 경우 feature.xml 수정하면 촬영음 끄기만되고 켜기가 않되서 무음으로만 쓰고 있는데요.. phyb님 디오덱스롬 + 주백님 midnigh 테마 사용중입니다... [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.24
    이전 펌에서 무음으로 설정해두신 상태에서 펌업하셔서 그런 것 같네요. 첨부파일 중에 디오덱스용만 받아서 이름 바꾸고 넣어주시면 온오프 가능하실겁니다.^^
  • ?
    phyb
    13.06.24
    앗 단내지기님.. 쪽지 확인 한번 해주세요~! ^^
  • ?
    phyb
    13.06.24
    감사합니다.^^
  • profile
    감솨합니다... 온오프 잘되네요,,,
  • profile
    갤4에서도 여전히 대단하십니다..추천 드리고 갑니다.^^ [2.1.2/M250SKSJMB2/4.1.2]
  • ?
    허~ 이제 쪽지확인했습니다. 쪽지확인해주세요…
  • ?
    한시연
    13.06.24
    감사합니다. 잘되네요. 추천 쾅!
  • ?
    phyb님 넘 감사합니다~^^ [2.1.2/E300SKSUAME7/4.2.2]
  • ?
    Hax빙글
    13.06.24
    역시 phyb님이야. 가차없죠 [2.1.2/M250SKSJME2/4.1.2]
  • ?
    칵이닷
    13.06.25
    이전펌 카메라 apk하고 비교하려고 꺼내만 뒀는데 직접해주셨군요. 역시 빠르십니다! 추천!!
  • ?
    Oragne
    13.06.25
    이제막 루팅 끝난 초보입니다 기존에 있던 순정 카메라 apk 파일과 odex 대신에 첨부해주신 파일로 덮어씌우면 되는건가요?
  • ?
    세배로
    13.06.25
    감사히 잘 사용하겠습니다~ 그런데 제가 뭘 잘못했는지 무음 설정이 안되네요 ㅠㅠ디오덱스용 다운받아 이름수정하고 붙어넣기 했는데 그대로 이네요~퍼미션도 주었는데 말입니다
  • ?
    감사합니다! 닥추!
  • ?
    강좌도 강좌지만 직접 수정한 파일도 올리는 섬세함에 추천을 누르고 갑니다
  • ?
    감사합니다.. 근데 저도 세베로님처럼 디오덱스용 받아서 이름수정하고 붙여넣기해도 촬영음 토글버튼이 안나오네요.. [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    토글은 기본적으로 feature.xml에서 셔터사운드메뉴 활성화 해놓으셔야 보입니다. MF3에서는 메뉴를 활성화시켜도 작동이 안되기 때문에 위와 같은 수정이 추가로 필요한거죠~! ^^ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    추천 감사드려요~! ^^ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    추천 감사합니다~ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    기본적으로 feature.xml 내 카메라 항목에서 ShutterSoundMenu를 true로 바꿔주셔야 토글이 보입니다~ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    feature.xml 수정하시고 odex만 받아서 덮어 씌우시면 됩니다.^^ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    감사합니다 칵이닷님..^^ 그래도 본래 되었던게 안되는거라 수정이 비교적 수월했던 것 같습니다~ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    phyb
    13.06.25
    사실 팁이라고 하기엔 너무 간단한걸요.. 빙글님처럼 혁신적인 팁을 쓰려면.. 한참 멀었죠..^^ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    이런 멋진 강좌는 무조건 추천 입니다~~~ㅎ
  • ?
    아.. 그렇군요.. 감사합니다 적용되었네요^^ [2.1.2/E300SKSUAMF3/4.2.2]
  • ?
    Hax빙글
    13.06.26
    헣...제 팁도 혁신까진 아니지만...ㅎㅎ 앞으로도 알아내신것들 자주 써주세요~ [2.1.2/M250SKSJME2/4.1.2]
  • ?
    zpffjrtl
    13.06.26
    감사합니다 유플 갤4 mf4펌웨어로 feature.xml 수정후 디오덱스 다운받아서 덮었는데 안돼네요 ㅠㅠ 유플용이라 안될까요
  • ?
    세배로
    13.06.26
    설명을 잘해 주셨는데 제가 무지해서 어떻게 하는질 모르겠네요ㅠㅠ 한번 이리저리 찾아보고 공부좀 해야겠네요~관심 가져주셔서 감사드립니다
  • ?
    phyb
    13.06.26
    순정펌에 디오덱스파일을 넣어줄 경우 odex파일은 삭제해주셔야합니다~
  • ?
    Elon
    13.06.26
    좋은정보 감사합니다!
  • ?
    phyb님 "KT/갤4/MF3 SHOStock Mods"적용하니까 그대로 한방에 해결되내요...감사합니다 .
  • ?
    좋은 정보 감사합니다
  • ?
    갤포는 features.xml에서 수정이 불가능한가봐요
  • ?
    른돌
    13.06.29
    앞으로 쓰게될지도 모르는 팁..무조건 추천 드립니다. ㅎ...
  • ?
    kkdouble
    13.06.29
    좋은 팁이네요...
  • ?
    양광식
    13.07.01
    제가 정말 초보인데 올려주신 파일 때문에.. 바로 됬어여 ㅠㅠ 정말 감사합니다 !!
  • ?
    좋은강좌 감사합니다..^^
  • ?
    ggomhashoo
    13.07.08
    수정을 해도 무음 선택이 안됩니다
  • ?
    Pil2
    13.07.30
    mg2 버전은 안되는건가요 ? 계속 중지 되었습니다 나오네요 ㅠㅠ
  • ?
    흠.. baksmali 후 camerasetting.samli 수정한 후에 다시 smali작업을 하면 구문에러가 나네요..; java -jar smali-2.0b5.jar d -o classes.dex 입력하면 CameraSettings.smali[16329,4] Error for input '.parameter': Invalid directive ..............................[16329,15] mismatched input '"shuttersound"' expecting END_METHOD_DIRECTIVE.. 하고 그 수정한 부분에서 몇개의 오류를 더 뿜어냅니다.. 혹시 알고 계신분 있으실까요??T.T
  • ?
    죄송한데 제가 MJ1 갤럭시 메가 인데요 phyb님이 첨부해주신 디오덱스용 다운받아서 넣어주면 적용된까요...? [2.2.4/E310SKSUAMJ1/4.2.2]
  • ?
    Ben™
    13.12.03
    좋은강좌 정말 감사합니다^^
  • ?
    CLovers
    14.02.20
    저도 같은데 혹시 해결하셨어요?
  • ?
    시키신 대로 feature.xml 수정하고 odex만 받아서 덮어 씌었는데 카메라 앱이 사라졌어요...
댓글 쓰기 권한이 없습니다.
분류 추천순 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
갤럭시 s SD 및 펌웨어 utilty (어플리케이션 소개) 59 file 자양 49 12390 2010.12.31
통신사로고 제거 방법 222 file 호정김 48 5849 2017.12.05
오딘 사용법 (S6 & S6 엣지 & S6 엣지+, 노트 5 이전 기기 및 ... 88 file Penguin97 48 8336 2017.01.31
[15.01.23] SKT 갤럭시노트4 (SM-N910S) 안드로이드 4.4.4 (KitKat) 시... 28 file 젤리빵™ 48 24514 2014.12.22
젤리빈 숨겨진 기능? 88 6811 48 5550 2013.03.11
[노트2] 쉽게 브라우저 종료 메뉴 추가하기 45 file lawbug 48 9867 2012.12.14
[노트2] 쉽게 브라우저 종료 메뉴 추가하기 1 file lawbug 48 9876 2012.12.14
강좌 [강좌]카카오톡 부계정 만들기 - 카카오톡 우회인증/공기계 카카오톡 ... 23 푸우♡ 47 42549 2014.03.12
45도로 과열된 폰 10초만에 20도만들기 76 file SuperUse 47 4022 2013.04.28
강좌 테그라크 사용자를 위한 간단 테마적용법~! 77 택이아빠 47 24445 2011.04.05
[12월 30일추가] I/O Scheduler와 외장마운트 동시적용을 통한 성능향... 289 file 이카루스 47 19025 2010.12.17
강좌 S7 엣지 루팅하기 (컴터 사용) sk, lg, kt 모두 사용 가능 216 file ericKangtheB 46 3139 2017.12.19
갤4 MF3이상 펌에서 카메라 무음설정 가능하도록 코드 수정하기 46 file phyb 46 13417 2013.06.24
루팅 초보분들에게 추천하는 8가지 42 악플반대 46 5446 2013.03.03
노트1 젤라빈 먹은후 자판느리신분을 위해 51 스카이모 46 4747 2013.02.25
배터리 절약법 정리 28 퓨마ㄴㅁ 46 3912 2013.02.12
강좌 갤럭시 타기종에서 갤럭시S6처럼 상단바 만들기. 22 file EPhe 45 16578 2015.05.04
[15.03.25] SKT 갤럭시노트4 (SM-N910S) 안드로이드 5.0.1 (Lollipop) ... 13 file 젤리빵™ 45 37001 2015.03.19
강좌 스마트폰 속도 최적화 강좌 31 file 은수116 45 8577 2014.12.31
강좌 제조사 롤리팝 시스템 디오덱스 방법 18 file JOLT™ 45 12778 2014.12.25
이번 갤럭시S2 젤리빈 3사 모두 잘못된 부분이 있습니다 30 file 르릉 45 4942 2013.02.07
프리빌리지 터미널: 롬 / 커널 추출 방법 9 프리빌리 45 7161 2012.11.11
흔히들 말하는 '롤리팝 메모리 누수'에 대해 19 arter97 44 16203 2015.04.28
강좌 맛클 뉴비강좌 4편 - 커스텀 리커버리가 뭘까? 22 qqjdzm 44 13817 2013.12.27
S플래너 주간날씨 살리기 54 file Who_am_I 44 10369 2013.05.04
퀵패널 투명 및 원하는 배경 만들기 111 file 른돌 44 21654 2013.04.03
(Tip)루팅된 순정롬 부트애니 변경하기!!!! 53 file 노트1 SHV 44 10143 2013.03.29
스마트폰 전원 안끄고 배터리 갈기 48 lecter 44 7386 2013.02.15
멋진 아이콘테마 무한대 대박많음~~ 22 file 까칠장미 44 3103 2013.01.31
[TA13] 부두패치(오버클럭 + 부두 랙픽스 + 부두 사운드)부터 루팅까지! 69 초콜렛왕 44 40885 2011.01.28
1 4 - 135