[강좌]안드로이드 4.4 카메라 무음 활성화

 

1. feature.xml (/system/csc) Camera 항목에서


<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>

<CscFeature_Camera_EnableCameraDuringCall>true</CscFeature_Camera_EnableCameraDuringCall>


위 두 항목을 true로 바꿔 줍니다.

 

2. SamsungCamera.apk 디컴 후 CameraSettings.smali 에서 (/smali/com/sec/android/app/camera)


.method public setCameraShutterSound(I)V 을 찾고 아래 내용 전체를 복사해 바꿔 줍니다


.method public setCameraShutterSound(I)V
    .locals 4
    .param p1, "shuttersound"    # I

    .prologue
    .line 2599
    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

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

    if-eq v1, p1, :cond_42

    .line 2601
    const-string v1, "CameraSettings"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()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;->v(Ljava/lang/String;Ljava/lang/String;)I

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

    .line 2603
    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

    .line 2604
    .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;

    .line 2605
    invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z

    .line 2607
    const/16 v1, 0x15

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

    .line 2609
    .end local v0    # "editor":Landroid/content/SharedPreferences$Editor;
    :cond_42
    return-void
.end method


* classes.dex 를 추출해 baksmali 한 분은 locals 4 를 registers 6 로 바꿔 주세요

 

원문 : http://www.matcl.com/?m=bbs&bid=usermoim&where=nic&keyword=%EC%A7%80%EB%88%84%EC%A7%80%EB%88%99&uid=230471

 

[강좌]안드로이드 4.4 카메라 무음 활성화

 

1. feature.xml (/system/csc) Camera 항목에서


<CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu>

<CscFeature_Camera_EnableCameraDuringCall>true</CscFeature_Camera_EnableCameraDuringCall>


위 두 항목을 true로 바꿔 줍니다.

 

2. SamsungCamera.apk 디컴 후 CameraSettings.smali 에서 (/smali/com/sec/android/app/camera)


.method public setCameraShutterSound(I)V 을 찾고 아래 내용 전체를 복사해 바꿔 줍니다


.method public setCameraShutterSound(I)V
    .locals 4
    .param p1, "shuttersound"    # I

    .prologue
    .line 2599
    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

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

    if-eq v1, p1, :cond_42

    .line 2601
    const-string v1, "CameraSettings"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()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;->v(Ljava/lang/String;Ljava/lang/String;)I

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

    .line 2603
    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

    .line 2604
    .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;

    .line 2605
    invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->commit()Z

    .line 2607
    const/16 v1, 0x15

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

    .line 2609
    .end local v0    # "editor":Landroid/content/SharedPreferences$Editor;
    :cond_42
    return-void
.end method


* classes.dex 를 추출해 baksmali 한 분은 locals 4 를 registers 6 로 바꿔 주세요

 

원문 : http://www.matcl.com/?m=bbs&bid=usermoim&where=nic&keyword=%EC%A7%80%EB%88%84%EC%A7%80%EB%88%99&uid=230471

  1. 시종일관 2014.10.05 09:16

    좋은 강좌 감사합니다.
    한 가지 좀 여쭤보려고 합니다.
    저는 무음카메라가 실 생활에 있어서 정말 많이 필요합니다.
    주로 회의할 때 회의실 사진촬영이나, 강의할 때 판서할 시간이 없어서 사진으로 보관한다던가, 제품 검수를 할 때 검수사진을 촬영한다던가 촬영음 때문에 다른사람에게 피해를 주는 경우가 너무 많습니다.
    그래서 정말 필요한 기능인데 펌웨어가 업그레이드 될 때마다 고수분들 께서 작업을 해 주실 수는 없잖습니까?
    그래서 직접 만들어 보고 싶은데 방법이 너무 어렵습니다.

  2. 시종일관 2014.10.05 09:23

    그래서 좀 여쭤 볼께요.
    저는 노트3(SKT)를 사용하고 있고요~
    세이님의 S5 커스텀롬을 사용하고 있습니다.
    (안드로이드 버전 : 4.4.2)

    세이님 롬의 시스템 파일을 추출해 보면,
    app 폴더내에 'SamsungCamera2.apk' 파일만 있습니다.
    그리고 그 파일을 7.zip을 이용해 압축을 풀어보면
    '.smali' 라는 파일이 없는데요?

    디컴에 대해서 검색을 통해서 방법을 숙지하고 시작을 해 보려는데,
    여기서 막히네요 ㅎㅎ

    다른 방법이 있는지 좀 여쭤 볼께요...

    • BlogIcon WH. 2014.10.05 15:45 신고

      디컴파일과 컴파일에 대한 개념을 이해하신후에 본 강좌를 따라하시면 이해하시기 쉬울듯합니다.

      관련 강좌 링크 드립니다 .

      http://azdesigntm.com/35

    • BlogIcon 시종일관 2014.10.05 20:25

      아~~~~
      네 답변 감사합니다.
      차근 차근 배우고 다시 오겠습니다. ^^;

  3. 사람 2014.12.18 22:46

    그냥 앱 의 셔터음 파일을 무음파일로교채해도되는데여??

    • BlogIcon WH. 2014.12.18 23:03 신고

      온 오프기능을 살린겁니다^^
      필요하시면 소리만바꿔쓰세요ㅎ

  4. 행인1 2015.08.13 06:19

    아.. 초보라 디컴파일 하는데 에러가 나서 도무지 문제를 알 수가 없네요 ㅠㅠ 혹시 줌2
    프레임 워크랑 tw프레임워크랑 카메라apk 넘겨주시면 작업좀 가능하신가요ㅠㅠ 정말 온오프 기능 살리고 싶은데 며칠째 허덕이고 있네요;;

+ Recent posts