2013/11/28

Galaxy S4 LTE-A (shv-e330s)ファームウェアアップデイト(MJ7=>MK4)


韓国版Galaxy S4 LTE-A (shv-e330s、SKテレコム)のファームウェアのアップデイトが配布されました。

更新内容はS Viewカバーの動作改善とのことです。

Samsung Kies3でアップデイトしました。

【端末情報】

・Android version ; 4.3(変わらず)
・Baseband version ; E330SKSUBMJ6 => E330SKSUBMK3
・Kernel version ;
3.4.0-1891748 se.infra@R0210-01 #1 Fri Oct 18 21:25:29 KST 2013
=> 3.4.0-2107250 se.infra@SEP-136 #1 Thu Nov 14 17:18:10 KST 2013
・Build number ; JSS15J.E330SKSUBMJ7 => JSS15J.E330SKSUBMK4

【純正ROM入手方法】

Samsung Kies3を利用してアップデイト出来ますが、以下のサイトで配布されている純正ROMをOdinで焼く事も出来ます。

SAMMOBILE
http://www.samfirmware.com/

Samsung Updates
http://samsung-updates.com/latest-firmware/

但し、Odinから焼くとKNOXカウンターが更新されますので注意してください。

Samsung KNOXとは何か(Galaxyシリーズを4.3にアップグレードする際の注意事項)
http://galaxy-shw-m110s.blogspot.kr/2013/10/samsung-knoxgalaxy43.html

また、前回のMJ7(Android 4.3へのアップデイト版)からKNOXが導入された影響で、MJ7以降の端末にはOdinを使ってもKNOX導入前のバージョンのファームウェアは焼けませんので注意が必要です。

【Root化】

ファームウェアをアップデイト後、以下の方法でroot化しました。

Galaxy S4 LTE-A用CWM Recovery
http://galaxy-shw-m110s.blogspot.kr/2013/10/galaxy-s4-lte-acwm-recoveryver-5171.html

【省電力設定】

OSやアプリを細かく設定してバッテリ消費を抑制しています。

Androidのバッテリー消費を抑制する設定まとめ
http://galaxy-shw-m110s.blogspot.kr/2013/10/android.html

【広告の非表示】

Adawayを使用して広告を非表示にしています。

AdAwayで広告を非表示に
http://galaxy-shw-m110s.blogspot.kr/2011/11/adaway.html

【カメラの無音化】

Galaxy S4と同じ手法でカメラの無音化も可能です。

Galaxy S4のカメラの無音化(ESファイルエクスプローラー使用)
http://galaxy-shw-m110s.blogspot.kr/2013/05/galaxy-s4_2.html

【ブラウザのメニューに終了オプションを追加】

Galaxyの標準ブラウザのメニューに終了オプションを追加
http://galaxy-shw-m110s.blogspot.kr/2013/11/galaxy.html


2013/11/27

Wanam Xposed(Xposedモジュール)でGalaxy S4をカスタマイズ


Last Update ; 28/Nov/2013

Wanam XposedはXposed用のモジュールで、Playストアでも配布されています。

Wanam Xposed
https://play.google.com/store/apps/details?id=ma.wanam.xposed

このモジュールを使用すると、従来の様にodexファイルを改変したりxmlファイルを書き換えたりしなくても、Wanam Xposedの設定画面で該当の項目をクリックするだけで、同じ事が出来ます。


参考;Galaxy S4 LTE-Aのカメラの無音化(deodex版、odex版)
http://galaxy-shw-m110s.blogspot.kr/2013/11/galaxy-s4-lte-adeodexodex.html

参考;Galaxyの標準ブラウザのメニューに終了オプションを追加
http://galaxy-shw-m110s.blogspot.kr/2013/11/galaxy.html

Xposedフレームワークとモジュールの導入方法は、以下の記事を参考にしてください。

KitKat(Android 4.4)でも"BATTERY_STATS"を使うアプリを使用出来るようにするXposedモジュール
http://galaxy-shw-m110s.blogspot.kr/2013/11/kitkatandroid-44batterystatsxposed.html

Galaxy S4では以下の項目がお勧めです。

■Notificatrion panel
  Hide smart stay eye icon
  Hide blocking mode notification
  Battery text size ; Medium

■Sound
  Auto expand volume panel
  Disable camera shutter sound --- AFが無音になりません(shv-e330s, MK4)
  Disable boot sound
  Disable volume control sound
  Disable low battery sound

■System
  Add Exit button to brouser menu --- 機能しません(shv-e330s, MK4)
  Double HOME button click action ; カメラ
  Long BACK kills app

■Phone
  Disable increasing call ringer

Nexus 7で使用しているアプリとホーム画面


Last Update : 18/Dec/2014

Nexus 7で使用しているアプリとホーム画面の覚書です。

基本的には併用しているGalaxy S4と同じアカウントで同じアプリを使用していますが、一部、Nexus 7にだけ使用しているアプリもあります。

【アプリ】

基本的には以下のGalaxy S4の例と同じアプリを使用しています。

■追加インストールしたアプリ
http://galaxy-shw-m110s.blogspot.kr/2010/11/home.html

追加でNexus 7だけにインストールしているアプリは以下です。

■俺時計
https://play.google.com/store/apps/details?id=com.yst_labo.myowncalendar

Nexus 7ではDigital Clock WidgetのWidget Click Actionが上手く動作しない(Alarmが呼び出せない)ので、代わりにこのアプリを使用しています。

■Gesture disabler for Nexus
https://play.google.com/store/apps/details?id=com.ulk.gesturedisabler

スワイプアップジェスチャーを無効化するユーティリティです。

■Nova Launcher
https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher

併用しているGalaxyシリーズのTouchWizに似せた外見と操作感にしています。

■SmartStay Ex
https://play.google.com/store/apps/details?id=com.beansoft.eyespy.free

Galaxyシリーズのスマートステイを模した物です。

■ぐるなび
https://play.google.com/store/apps/details?id=jp.co.gnavi.activity

このアプリは、Nexus 7にはタブレット版しかインストール出来ないのですが、タブレット版は横画面のみで不便なので、別端末にインストールした通常版を抜き出したものを利用しています。

【ホーム画面】

ランチャーはNova Launcherを使用しています。



カメラ、アプリケーション管理、データ使用量、バッテリー管理、開発者向けオプション、Wi-FiのアイコンはTaskerで作成した設定メニューへのショートカットアプリです。

CACHATTO Launcher、Toggle RootはTaskerで作成したアプリです。


2013/11/26

KitKat(Android 4.4)でも"BATTERY_STATS"を使うアプリを使用出来るようにするXposedモジュール


KitKat(Android 4.4)では、"BATTERY_STATS"のパーミッションが変更され、バッテリ状態を表示するアプリの多くが使えなくなりましたので、Xposedモジュールを導入して対策してみました。

【KitKatでの問題点】

KitKatにアップグレードしたNexus 7(2012、WiFiモデル)に「電池消費量ビューア」をインストールして起動しようとすると、↓のようなエラーが表示されます。


電池消費量ビューア
https://play.google.com/store/apps/details?id=com.appspot.takuyaandroid.ppv

この問題は、Xposedモジュールを使う事で回避出来ます。(root化必須です。)

【Xposedモジュールの導入による対策】

まず、↓からXposedインストーラをダウンロードしてインストールします。

[FRAMEWORK ONLY!] Xposed - ROM modding without modifying APKs
http://forum.xda-developers.com/showthread.php?t=1574401

KitKat対応のバージョン(Xposed version 2.4 beta1以降)を使用してください。

インストールしたXposedインストーラーを起動するとメニュー画面が表示されますので、「フレームワーク」「インストール/更新」でフレームワークをインストールします。


Back Keyでメニュー画面に戻り、「ダウンロード」をクリックするとモジュールのリストが表示されますので、「Enable BATTERY_STATS for KitKat」を選択してダウンロードします。


Back Keyでメニュー画面に戻り、「モジュール」を選択し、「Enable BatteryStatus Permission-XPosed Module」をクリックして有効にします。


端末を再起動すると、"BATTERY_STATS"を利用したアプリを使用することが出来るようになります。



2013/11/22

韓国版Galaxy S3のファームウェアのアップデイト(MJ2=>MK5)


韓国版Galaxy S3 (shv-e210s、SKテレコム版)のファームウェアのアップデイトが配布されました。

更新内容は以下です。

1. Android 4.3へのアップグレード
2. MelOn(韓国のミュージックカタログサービスアプリ)のEQ機能の不具合修正
3. ホーム画面の透明インジケータ適用
4. ギャラリーの安定化
5. Galaxy Gear対応
6. Samsung KNOX対応

このアップデイトを適用すると、Note3やS4と同様に、KNOX(セキュリティシステム)が導入されます。

Odinを使ってこのバージョンにアップデイトしたり、KNOX対応ファームウェアの導入後にOdinを使ってRecoveryやファームウェアやカーネルを焼くと、KNOXカウンターが変更され、KNOXが使えなくなります。(一度変更されたカウンターは元に戻せません。)

カウンターが変更されても、KNOXを使用しない場合は使用上の問題はありませんが、保証が効かなくなったり、下取り時に不利益を被ったりする可能性がありますので注意が必要です。

Samsung KNOXとは何か(Galaxyシリーズを4.3にアップグレードする際の注意事項)
http://galaxy-shw-m110s.blogspot.kr/2013/10/samsung-knoxgalaxy43.html

また、このバージョンにアップデイト後は、OdinでKNOX適用前の古いファームウェアを焼いてダウングレードすることも出来なくなります。

アップデイト後はSamsung Kiesは使えなくなりますのでSamsung Kies 3を新たにインストールして使用してください。

Samsung Kies 3
http://www.samsung.com/jp/support/usefulsoftware/KIES/JSP


2013/11/20

Nexus 7のファームウェアアップデイト(KRT16O=>KRT16S)とroot化


Last Update ; 28/Mar/2014

Nexus 7 (2012, WiFiモデル)のファームウェアのアップデイトが配布されました。

ビルド番号が"KRT16O"から"KRT16S"に変更されています。

先日のKitKat(Android 4.4)配布の直後のアップデイトですので、バグ修正だと思います。

今回は、手動でアップデイトしてroot化しました。

【OSのアップデイト】

1)以下のファイルをPCにダウンロードします。

Factory Images "nakasi" for Nexus 7 (Wi-Fi)
https://developers.google.com/android/nexus/images#nakasi
nakasi-krt16s-factory-da7dee49.tgz

2)"nakasi-krt16s-factory-da7dee49.tgz"を解凍します。

3)解凍したファイルの中から以下の2つのファイルをPCの"/android-sdk-windows/tools/"に置きます。(SDKの環境に依ります。)

bootloader-grouper-4.23.img
image-nakasi-krt16s.zip

4)端末の電源を切り、"[電源]+[ボリュームダウン]"でbootloaderを立ち上げます。

5)端末とPCをUSBケーブルで接続し、PCのコマンドプロンプト上から以下の操作をしてbootloaderを差し替え、OSをアップデイトします。

fastboot flash bootloader bootloader-grouper-4.23.img
fastboot reboot-bootloader
fastboot update image-nakasi-krt16s.zip

【root化】

1)以下の2つのファイルをダウンロードします。

CWM Recovery Download Touch Recovery Google Nexus 7 
http://www.clockworkmod.com/rommanager
recovery-clockwork-touch-6.0.4.3-grouper.img

SuperSU v1.94
http://forum.xda-developers.com/showthread.php?t=1538053
UPDATE-SuperSU-v1.94.zip

2)"UPDATE-SuperSU-v1.94.zip"を端末の"/sdcard/"直下に置きます。

3)ダウンロードした"recovery-clockwork-touch-6.0.4.3-grouper.img"をPCの"/android-sdk-windows/platform-tools/"に置きます。(SDKの環境に依ります。)

4)端末の電源を切り、"[電源]+[ボリュームダウン]"でbootloaderを立ち上げます。

5)端末とPCをUSBケーブルで接続し、PCのコマンドプロンプト上から以下の操作をしてCWM Recoveryを焼きます。

fastboot flash recovery recovery-clockwork-touch-6.0.4.3-grouper.img

6)ボリュームキーを操作して"Recovery Mode"に入り、ナビゲーション画面で以下の操作をしてSuperSUを焼きます。

・"Recovery"を選択。
・"Install zip from sdcard"を選択。
・"choose zip from sdcard"を選択。
・"0/"を選択。
・画面をスクロールして"UPDATE-SuperSU-v1.94.zip"を選択。
・"Yes - Install UPDATE-SuperSU-v1.94.zip"を選択。
・"+++++Go Bacck+++++"を選択。
・”reboot system now”を選択。
・"No"を選択。

7)再起動後にBusy boxをインストールします。

BusyBox
https://play.google.com/store/apps/details?id=stericson.busybox


2013/11/16

Galaxy S4のロック画面にアプリのショートカットを置く方法(隠しメニュー)


韓国版のGalaxy S4 LTE-A(shv-e330s、SKテレコム版)には、ロック画面上にアプリ起動用のショートカットを置く隠しメニューがあります。

標準の設定メニューにはこの項目はありませんが、QuickShortCutMaker等からアクティビティを直接呼び出すと隠しメニューに入れますし、ホーム画面上に設定メニューのショートカットを置く事も出来ます。(root化は不要です。)

【アクティビティ名】

com.android.settings.lockscreenshortcut.LockScreenShortcutSettings

【設定方法】

アクティビティを呼び出せるアプリなら何を使っても構いませんが、今回は、QuickShortcutMakerを使用しました。

QuickShortcutMaker
https://play.google.com/store/apps/details?id=com.sika524.android.quickshortcut

まず、QuickShortcutMakerを起動し、「アクティビティ」タブを選択し、検索欄に「ショートカット」と入力します。


表示されたアクティビティの中から、以下をクリックすると、ショートカット編集画面が開きます。

設定
ショートカット
com.android.settings/
com.android.settings.lockscreenshortcut.LockScreenShortcutSettings


この画面上で「起動」ボタンをクリックすると隠しメニューが表示され、「OK」ボタンをクリックするとホーム画面に隠しメニューへのショートカットが作成されます。

ホーム画面にショートカットを作成する場合は、「アイコン」と「ショートカット名」を好みに合わせて変更しておくと良いでしょう。


今回はこんなアイコンとショートカット名にしてみました。


作成したアイコンをクリックすると隠しメニューが表示されます。


あとは、右上のスライドボタンでこの機能を有効にし、画面の指示に従って好みのショートカットを並べれば、ロック画面下部にアプリへのショートカットアイコンが表示されます。



2013/11/15

Galaxy S2 (shw-m250s)ファームウェアアップデイト(MG1=>MJ1)


韓国版Galaxy S2(shw-m250s、SKテレコム)のファームウェアのアップデイトが配布されました。

更新内容は通話品質の改善とのことです。

Androidのバージョンは4.1.2のままです。

2013/11/14

Nexus 7 (2012, WiFiモデル)のAndroid 4.4へのアップデイトとroot化


Nexus 7 (2012、WiFiモデル、root化済)をAndroid 4.4にアップデイトして再root化しました。

【Android 4.4へのアップデイト】

OTAがまだ降って来ないので、unrootしてから、下記からダウンロードしたファイルをCWM Recoveryで焼きました。

Googleサーバー(OTA用、直リンク)
http://android.clients.google.com/packages/ota/google_nakasi/13088e35942c77e4752aa1fdf51d54472509b941.signed-nakasi-KRT16O-from-JWR66Y.13088e35.zip


【CWM Recoveryの再導入とroot化

OSのアップデイト後に、以下の手順でRecoveryを最新のCWMに置き換え、SuperSUを導入してroot化しました。

1)下記2つのファイルをダウンロードする。

CWM Recovery Download Touch Recovery Google Nexus 7 
http://www.clockworkmod.com/rommanager
recovery-clockwork-touch-6.0.4.3-grouper.img

ChainFire SuperSU
http://download.chainfire.eu/365/SuperSU/UPDATE-SuperSU-v1.69.zip
UPDATE-SuperSU-v1.69.zip

2)"UPDATE-SuperSU-v1.69.zip"を端末の"/sdcard/"直下に置く。

3)ダウンロードした"recovery-clockwork-touch-6.0.4.3-grouper.img"をPCの"/android-sdk-windows/platform-tools/"に置く。(SDKの環境に依ります。)

4)端末の電源を切り、"[電源]+[ボリュームダウン]"でbootloaderを立ち上げる。

5)端末とPCをUSBケーブルで接続し、PCのコマンドプロンプト上から以下の操作をしてCWM Recoveryを焼く。

fastboot flash recovery recovery-clockwork-touch-6.0.4.3-grouper.img

6)ボリュームキーを操作して"Recovery Mode"に入り、ナビゲーション画面で以下の操作をしてSuperSUを焼く。

・"Recovery"を選択。
・"Install zip from sdcard"を選択。
・"choose zip from sdcard"を選択。
・"0/"を選択。
・画面をスクロールして"UPDATE-SuperSU-v1.69.zip"を選択。
・"Yes - Install UPDATE-SuperSU-v1.69.zip"を選択。
・"+++++Go Bacck+++++"を選択。
・”reboot system now”を選択。
・"No"を選択。

7)再起動後にBusy boxをインストールする。

BusyBox
https://play.google.com/store/apps/details?id=stericson.busybox


2013/11/06

バッテリー消費計測(Galaxy S4 LTE-A、Android 4.3)



韓国版のGalaxy S4 LTE-A(shv-e330s、SKテレコム版)のOSをAndroid4.3(MJ7)にアップデイトしましたので、バッテリー消費を再計測してみました。

従来同様、どなたでも計測して比較出来るように、特別なアプリ等は使わず、寝る前に充電してから充電器を抜き、翌日に初めて使う際に確認したバッテリ残量(%)を記載しています。

【環境・条件】

従来同様の以下の条件で計測しています。

追加インストールしたアプリ
http://galaxy-shw-m110s.blogspot.kr/2010/11/home.html

Androidのバッテリー消費を抑制する設定まとめ
http://galaxy-shw-m110s.blogspot.kr/2013/10/android.html

root化はしていますが、バッテリ監視アプリやタスクキラーは使わず、OS側の設定と各アプリの同期・通知設定を細かく設定した状態で計測しています。

但し、今回から、Greenifyを導入しています。

常にバックグラウンドで起動してバッテリーを消費しているアプリをGreenifyで休止
http://galaxy-shw-m110s.blogspot.kr/2013/11/greenify.html

【今回の計測結果】

測定時間 測定開始時 測定終了時 1時間あたり
07:21 100% 97% 0.408%
09:28 100% 96% 0.423%
08:03 100% 97% 0.373%
07:32 100% 96% 0.531%
07:52 100% 96% 0.508%
平均 0.449%

【過去の計測結果との比較】

機種 OS 備考 結果
Galaxy S4 LTE-A 4.3 LTE,MJ7 0.449%/Hour
Galaxy S4 LTE-A 4.2.2 LTE,MH2 0.599%/Hour
Galaxy S4 4.2.2 LTE,ME7 0.743%/Hour
Galaxy S4 4.2.2 LTE,MDK 0.867%/Hour
Galaxy S3 4.1.2 LTE 1.759%/Hour
Galaxy S3 4.1.1 LTE Off 1.634%/Hour
Galaxy S3 4.1.1 LTE 2.434%/Hour
Galaxy S3 4.0.4 LTE 1.184%/Hour
Galaxy S2 4.0.3 3G,拡張バッテリ 0.768%/Hour
Galaxy S2 2.3.3 3G,拡張バッテリ 0.385%/Hour
Galaxy S2 2.3.3 3G 0.629%/Hour
Galaxy S 2.3.3 3G 0.502%/Hour
Galaxy S 2.2.1 3G 0.635%/Hour



2013/11/05

Galaxy S4 LTE-Aのカメラの無音化(deodex版、odex版)


韓国版のGalaxy S4 LTE-A(shv-e330s、SKテレコム版)の無音カメラアプリ(deodex版)とodexファイルの作成方法の覚書です。

カメラアプリの設定メニューにシャッター音のOn/Offオプションを追加します。

韓国版のGalaxy S4 LTE-Aのカメラはbild.propとfeature.xmlを編集しただけでは無音になりません。(カメラアプリの設定メニューにシャッター音のOn/Offオプションは表示されますが、Offを選択出来ません。)

Galaxy S4のカメラアプリの設定メニューにシャッター音のOn/Off項目を追加(韓国版では機能せず)
http://galaxy-shw-m110s.blogspot.kr/2013/07/galaxy-s4ooff.html

On/Offせずに、常に無音でよいのでしたら、アプリを解凍して音源ファイルを無音ファイルに差し替える方法で無音化出来ます。

Galaxy S4のカメラの無音化(ESファイルエクスプローラー使用)
http://galaxy-shw-m110s.blogspot.kr/2013/05/galaxy-s4_2.html

【全体の流れ】

・必要なファイルの準備
・odexファイルを展開・編集
・classes.dexを作成
・deodexファイルを作成
・odexファイルを作成(オプション)

【準備】

まず、必要な物を用意します。

JAVAはインストールされている前提です。

Java SE ダウンロード
http://www.oracle.com/technetwork/jp/java/javase/downloads/index.html

1)作業用フォルダ

任意のフォルダで構いませんが、今回は/desktop/deodex/というフォルダを作業用に用意しました。

2)アセンブラと逆アセンブラ

An assembler/disassembler for Android's dex format
https://code.google.com/p/smali/

上記のページから以下のファイルをダウンロードして作業用フォルダに保存します。

baksmali
smali
baksmali-2.0.jar
smali-2.0.jar

baksmali-2.0.jarとsmali-2.0.jarはbaksmali.jarとsmali.jarにリネームしておきます。

3)7Z

以下から7Zをダウンロードして、解凍し、作業用フォルダに置きます。

7z002.lzh
http://madobe.net/archiver/app/dosp/7z.html

4)カメラアプリとodexファイル

端末から以下の2つのファイルを抜き出して作業用フォルダ内に置きます。

PCの任意のフォルダにもバックアップとしても保存しておくことをお勧めします。

/system/app/SamsungCamera2.apk
/sustem/app/SamsungCamera2.odex

これらのファイルは、SDKを使ってPCにpullしてもよいのですが、ESファイルエクスプローラ等でコピーして端末の/sdcard/に置き、そこからケーブルやクラウドを介してPCにコピーしてもよいでしょう。

5)/system/framework/の中身

端末の/system/framework/の中身全てを作業用フォルダにコピーします。

それぞれのファイルのサイズは小さく、全体で90MB程しかありませんが、当方の環境では154個のファイルがありました。

ファイル数が多いので、今回は、作業用フォルダの中に/system/framework/というフォルダを作り、その中に入れました。

6)feature.xmlの編集

ESファイルエクスプローラー等を利用して、端末の下記のファイルを編集しておきます。

/system/csc/feature.xml

ESファイルエクスプローラー
https://play.google.com/store/apps/details?id=com.estrongs.android.pop

変更する箇所は以下です。

FeatureSet/CSCFeature/Camera_ShutterSoundMenu ; false => true

【deodexファイルの作成】

1)odexファイルの展開

コマンドプロンプトから作業用フォルダに入り、以下を実行します。

PCのエクスプローラで作業用フォルダを開き、Shift+右クリックから「コマンドウインドウをここで開く」を選択するとよいでしょう。

java -jar baksmali.jar -d system/framework -x SamsungCamera2.odex -o test

作業用フォルダ内の/test/にファイルが展開されますので、コマンドプロンプトは開いたままにして、次の作業に移ります。

2)設定ファイルの編集

以下のファイルをメモ帳等にドラッグして開きます。

/test/com/sec/android/app/camera/CameraSettings.smali

下記を検索し、その部分を添付内容に置き換えます。

.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



同様に、下記部分を置き換えます。

.method public setCameraShutterSound(I)V

 

.method public setCameraShutterSound(I)V
    .registers 6
    .param p1, "shuttersound"    # I

    .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

 

なお、上記差し替え分はAndroid 4.3 MJ7用です。同じ機種でもOSのバージョンの違いによって正常に機能しない可能性がありますので注意してください。

3)classes.dexの作成

作業用フォルダでコマンドプロンプトから下記を実行します。

java -jar smali.jar test -o classes.dex

以下のファイルが作成されます。

classes.dex

4)deodex化

作業用フォルダでコマンドプロンプトから下記を実行します。

7z a -tzip SamsungCamera2.apk classes.dex

作業用フォルダ内のSamsungCamera2.apkが更新されます。

更新されたファイルは、odexファイルを取り込んだ物(deodex)になりますので、端末の/system/app/SamsungCamera2.apkに上書きすれば、無音カメラアプリとして使えますが、カメラアプリ自体を差し替えずにodexファイルだけを差し替えたい場合は、以下の作業を行ってください。

【odexファイルの作成】(オプション)

ここから先はSDKが使える環境になっている事が前提です。

1)dexopt-wrapper入手

以下のサイトからdexopt-wrapperをダウンロードして解凍し、端末の/data/local/tmp/に置きます。

http://forum.xda-developers.com/showpost.php?p=3864655&postcount=36

以下の様にSDKからpushしても良いですし、ESファイルエクスプローラー等を使っても構いません。

adb push dexopt-wrapper /data/local/tmp/

同様に、作成したdeodexファイル(SamsungCamera2.apk)も/data/local/tmp/に置きます。

2)odexファイルの作成

adbから下記を実行します。

adb shell chmod 755 /data/local/tmp/dexopt-wrapper
adb shell
cd /data/local/tmp
./dexopt-wrapper SamsungCamera2.apk SamsungCamera2.odex
busybox dd if=/system/app/SamsungCamera2.odex of=SamsungCamera.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

/data/local/tmp/にSamsungCamera.odexが作成されますので、これを/system/app/SamsungCamera.odexに上書きします。

以上で無音化は終了ですが、この手法は工数が多いので、常に無音でよいのでしたら、冒頭で紹介したアプリの音源ファイルを差し替える方が手軽でよいかと思います。

2013/11/02

常にバックグラウンドで起動してRAMやバッテリーを消費しているアプリをGreenifyで休止


Last Update ; 22/Nov/2015

Greenifyを使用すると、常にバックグラウンドで起動してRAMやバッテリーを消費しているアプリを休止して、端末の動作がモッサリするのを防止したりバッテリー消費を抑制したり出来ます。

OSの標準機能でも、一部の不要なアプリを無効にしたり、バックグラウンドの通信を制限したりする事は出来ますが、「たまに使うので無効化は出来ないがバックグランドで勝手に起動するのを止めたい」という場合にはGreenifyが有効です。

Greenify *ROOT: Renew my Phone
https://play.google.com/store/apps/details?id=com.oasisfeng.greenify

(参考)Galaxy Note 5でroot化前の標準状態で削除や無効化したプリインストールアプリ
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5root.html

(参考)Galaxy Note 5の不要なプリインストールアプリをスクリプトで一括無効化
http://galaxy-shw-m110s.blogspot.kr/2015/10/galaxy-note-5_22.html

(参考)モバイルデータ使用時のバックグラウンドでの通信を制限しているアプリ
http://galaxy-shw-m110s.blogspot.kr/2015/09/blog-post.html

Greenifyならば、一般的なタスクキラーで発生する”cat-mouse-game”(起動とKillの無限ループによる端末のパフォーマンスの低下とバッテリー消費)の心配はありません。

Greenifyに登録されたアプリは、通常通り起動して使用することは出来ますが、バックグラウンドに回って暫くすると自動的に休止し、[アプリケーション管理][実行中]にも表示されなくなります。

但し、ver 1.95時点ではこの間隔をユーザーが設定する事は出来ませんし、設定機能を実装する計画も無いそうです。

無料版ではシステムアプリを休止させる事は出来ませんが、有料版を購入するとシステムアプリも休止する事が出来ます。

バックグラウンドでの常時起動が必要なシステムアプリを休止させると重大な問題が生じる場合がありますので、十分注意して自己責任で使用してください。

【設定方法】

右下の「+」ボタンを押して「アプリ分析」画面に入り、休止させたいアプリを選択(複数選択可)して、右上の「レ」マークをタップすると休止アプリリストに登録されます。


OS側で[アプリケーション管理][実行中]を確認し、その中にバックグラウンドに回ったら休止させたいアプリがあれば、それをGreenifyに登録するとよいでしょう。

【Greenify対象アプリ(例)】

 @Nifty News
 CACHATTO
 CACHATTO Launcher (自作アプリ)
 ES ファイルエクスプローラ
 Excel
 Expedia
 Galaxyアカウント
 Google Search(自作アプリ)
 Polaris Office
 PowerPoint
 RAM管理(自作アプリ)
 Running Record(自作アプリ)
 SKT Hidden Menu(自作アプリ)
 System File Recovery(自作アプリ)
 System File Remover(自作アプリ)
 Twitter
 URL Shortener
 WiFi(自作アプリ)
 Word
 WPS Office (Kingsoft Office)
 アカウント(自作アプリ)
 ぐるなび
 アプリケーション管理(自作アプリ)
 TV番組表
 データ使用量(自作アプリ)
 バッテリー管理(自作アプリ)
 乗換案内
 翻訳
 開発者向けオプション(自作アプリ)
 韓国の地下鉄情報HD


Galaxyの標準ブラウザのメニューに終了オプションを追加


韓国版Galaxy S4 LTE-A(shv-e330s、SKテレコム版)の標準ブラウザのメニューに終了オプションを追加してみました。

システムファイルを編集しますので、root化してあることが条件です。

標準ブラウザは、戻るボタンで終了した様に見えても、タスクマネージャ等で終了させない限り、バックグラウンドで起動し続けています。

起動したままでも問題はありませんし、頻繁にブラウザを使用する場合は、起動スピードやバッテリー消費の両面から、バックグラウンドで起動したままの方が良いのですが、選択肢を増やすという意味でやってみました。

ファイルのコピーと編集にはESファイルエクスプローラを使用しました。

ESファイルエクスプローラー
https://play.google.com/store/apps/details?id=com.estrongs.android.pop

【手順】

1)/system/csc/feature.xmlをSDカード(Galaxyの場合は本体)かマイクロSDカードにコピー

コピーする際には、念の為、別名(original_feature.xml等)で元ファイルのバックアップも保存しておきましょう。

2)コピーしたfeature.xmlに以下を追記

<CscFeature_Web_AddOptionToTerminate>true</CscFeature_Web_AddOptionToTerminate>

今回は、判りやすいように、ファイルの先頭の方にある以下の部分のすぐ下に挿入しました。

<!- SKT ->
<FeatureSet>


端末上でタイプすると面倒ですし、タイプミスする可能性も高いので、メールで送るかKeep等で同期してコピペすると良いでしょう。

3)コピーしたfeature.xmlを/system/csc/feature.xmlに上書き

4)端末を再起動

標準ブラウザのメニューに「インターネットを終了」が追加されています。