あつりんの備忘録♪

日々の出来事や忘れちゃぁならん事などなど、ゆる~く書いていきます♪

カメラ機能のシャッター音をコントロール

XPERIA Z」のroot奪取後に行ったカメラ機能のシャッター音コントロールは、「XPERIA arc」の時の様に「build.prop」の書き換え(http://d.hatena.ne.jp/atsurin/20110426/)ではうまくいかなかった。
カーネルが絡んでくると厄介だなと思いながら、apkファイル修正かUKや台湾版のapkファイルの差し替えで上手くいかないか該当ファイルをデコンパイルして覗いていたものの、自分のスキルではどの部分が関係するか判明できていなかった。
ところが昨晩何気に2chを閲覧していたら、猛者というか神が降臨(【ROM焼き】 docomo Xperia Z SO-02E root4、185さん)しており、修正箇所を判別しているではありませんか!早速自分も修正の上、コンパイルしてみた。尚、当然の事ながらroot化必須で、内容が内容なだけに詳細は割愛。勿論、自己責任で。

adb pull /system/app/SystemUI.apk
adb pull /system/framework/framework-res.apk
adb pull /system/framework/SemcGenericUxpRes.apk

apktool if SystemUI.apk
apktool if framework-res.apk
apktool if SemcGenericUxpRes.apk

  • XPERIA Z」(以下、端末)に「Root Explorer (File Manager)」(https://play.google.com/store/apps/details?id=com.speedsoftware.rootexplorer)などのシステムファイルを覗けるファイラを導入。
  • 「system/app/SemcCameraUI.apk」のバックアップを取る。
  • 「system/app/SemcCameraUI.apk」のコピーをPC(母艦)に落とし、「APK Multi-Tool」に投入しデコンパイル
    • 「/APK-Multi-Tool/place-apk-here-for-modding/」に投入(このフォルダに改変するapkファイル投入、改変コンパイル済みapkファイルもここに入る)。
    • 「/APK-Multi-Tool/projects/」にデコンパイルされたapkファイルのソースが入る。
  • 「/APK-Multi-Tool/projects/SemcCameraUI.apk/smali/com/sonyericsson/android/camera/configuration/SystemPropertiesReader.smali」まで展開。
  • 73行目の「const/4 v1, 0x1」を「const/4 v1, 0x0」に設定変更して保存(.line 37)。

  • 圧縮率0でコンパイル実行。
    • 途中でコンパイルが停止するので、「/APK-Multi-Tool/keep/classes.dex」を必ず削除。
    • 今回はsmali形式ファイルのみの変更なので、「classes.dex」だけでいい。
    • 削除したら、コンパイル続行。
  • コンパイルして新しく出来た「unsignedSemcCameraUI.apk」を「SemcCameraUI.apk」にリネームして端末のテンポラリフォルダ(「temp/」)などに転送(内臓ストレージ上に保存しないと、パーミッション変更不可の場合有り)。
  • 新しく出来た「SemcCameraUI.apk」のパーミッションパーミッションを「644」(rw-r--r--)に変更。

  • 新しく出来た「SemcCameraUI.apk」を「system/app/SemcCameraUI.apk」に上書きコピー(必ずパーテーション変更してから上書きコピーの事)。
  • 上書きコピーされた「SemcCameraUI.apk」のオーナーをオーナー、グループ共に「0-root」に変更。

  • 端末のリブート。

これで、カメラ機能のシャッター音をスマートにオン・オフできる様になる。


尚、同様に、

  • 「system/app/SemcCamera3D.apk」をデコンパイル
  • 「/APK-Multi-Tool/projects/SemcCamera3D.apk/smali/com/sonyericsson/android/camera3d/CameraConfigManager.smali」まで展開。
  • 6261行目の「const/4 v1, 0x1」を「const/4 v1, 0x0」に設定変更して保存(.line 3049)。

して端末に転送、再起動させると、「スイングパノラマ」のシャッター音(操作音)が上記で出現させた(標準)カメラ機能のシャッター音のオン・オフと連動する様になり、コントロール可能になる。
更に、デフォルト機能の「スクリーンショット」のシャッター音の切替はポップアップメニューでの切替が不可能なので、どうしても気になる場合は、「system/media/audio/ui/camera_click.ogg」をバックアップの上、リネームするか削除、無音ファイルに変更(物理的に音声ファイルを削除または無音化)すれば以後シャッター音は一切鳴らなくなる。