2016/03/24

USBデバッグをトグルでOn/OffするアプリをTaskerで作成


USBデバッグをトグルでOn/OffするアプリをTaskerを使って作成しました。


On/Offを切り替えるたびに通知エリアに通知が表示されます。

USBデバッグをOffにした場合は、通知内のボタンをタップしてUSBデバッグをOnに戻すことが出来ます。

端末のroot化が必須で、TaskerプラグインのSecure Settingsも必要です。

主な用途としては、USBデバッグがOnになっていると起動出来ないアプリをワンタッチで起動する為、ランチャーを自作し、そのランチャーの中でこのアプリを最初に呼び出してUSBデバッグを一時的にOffにしています。

■アプリ動作概要


1.Notify Cancel:USBデバッグをOnにした際の通知をキャンセル。
2.Notify Cancel:USBデバッグをOffにした際の通知をキャンセル。
3.List Files:USBデバッグがOnであることを示すファイルの有無を確認。
4.If:上記ファイルがある場合。
5.Notify:USBデバッグをOffにした旨通知。(再度Onにするボタン付き)
6.Secure Settings:USBデバッグをOffに。
7.Delete File:USBデバッグがOnであることを示すファイルを削除。
8.Else:USBデバッグがOnであることを示すファイルが無い場合。
9.Notify:USBデバッグをOnにした旨通知。
10.Wait:終了直後にUSBデバッグをOnにするとエラーを吐くアプリ対策。
11.Secure Settings:USBデバッグをOnに。
12.Copy File:USBデバッグがOnであることを示すファイルをコピー。
13.End If:条件式終了。

■アプリ動作詳細

1.Notify Cancel:USBデバッグをOnにした際の通知をキャンセル。
2.Notify Cancel:USBデバッグをOffにした際の通知をキャンセル。


前回起動時の通知が残っている場合はキャンセルします。(USBデバッグOn/Offの通知が複数表示されない様にしています。)

ちなみに、通知のキャンセルは通知したアプリからしか行えません。

3.List Files:USBデバッグがOnであることを示すファイルの有無を確認。
4.If:上記ファイルがある場合。


中身はダミーのテキストファイル(ファイル名は任意)の有無を確認します。

このテキストファイルは、USBデバッグをOnにした時に”/sdcard/カスタマイズ用/"から"/sdcard/"にコピーし、USBデバッグをOffにした時に"/sdcard/"から削除します。

5.Notify:USBデバッグをOffにした旨通知。(再度Onにするボタン付き)


"Action"部分は通知上のボタン(再度USBデバッグをOnにするボタン)です。

ここでは自分自身を起動します(自分自身を起動しないと古い通知をキャンセル出来ません)ので、作成途中のアプリを一旦アプリ化して端末にインストールしておき、自分自身を指定します。


6.Secure Settings:USBデバッグをOffに。
7.Delete File:USBデバッグがOnであることを示すファイルを削除。


USBデバッグをOffにして、USBデバッグがOnであることを示すファイルを"/sdcard/"から削除します。

8.Else:USBデバッグがOnであることを示すファイルが無い場合。
9.Notify:USBデバッグをOnにした旨通知。
10.Wait:終了直後にUSBデバッグをOnにするとエラーを吐くアプリ対策。


USBデバッグをOnにした旨通知します。

普段、USBデバッグはOnにしたままにしていますので、こちらの通知にはUSBデバッグをOffにするボタンは付けていません。

USBデバッグがOnになっていると起動出来ないアプリの中にはアプリ終了直後にUSBデバッグをOnにするとエラーを吐くアプリがありますので、対策としてWaitを1秒入れています。

11.Secure Settings:USBデバッグをOnに。
12.Copy File:USBデバッグがOnであることを示すファイルをコピー。


USBデバッグをOnにして、USBデバッグがOnであることを示すファイルを”/sdcard/カスタマイズ用/"から"/sdcard/"にコピーします。

13.End If:条件式終了。








2016/03/23

Galaxy Note 5(SM-N920S)のファームウェアのAndroid 6.0へのアップデイトとroot化


韓国版Galaxy Note 5(SM-N920S、SKテレコム版)のファームウェアをAndroid 6.0(Marshmallow)にアップデイトし、root化しました。

カスタムリカバリーはTWRPを、ルートチェックアプリ対策にはXposedモジュールのRootCloakを使用しています。

■ファームウェアのバージョンとAndroidのバージョンについて

PDA:OL3 / CSC:OL3 / PHONE:OL1 (Android 5.1.1 Lollipop)
PDA:PAF / CSC:PAF / PHONE:PAD(Android 6.0.1 Marshmallow)
PDA:PB2 / CSC:PB2 / PHONE:PAD(同上)


今回はOL3からPB2へ一気にアップデイトしました。

Android 6.0(Marshmallow)へのアップデイトに際しては以下の点に注意が必要です。

(機械翻訳)
OS 6.0は、デバイスの暗号化解除機能が提供されません。 
デバイスの暗号化機能を使用しない場合は、必ず、アップグレード前に、暗号化機能をオフにしてください。(設定 - ロック画面とセキュリティ - その他のセキュリティ設定 - デバイスの暗号化を解除)

また、Android 6.0へのアップデイトにより従来のカスタムリカバリーやXposedは使用出来ません。

専用のカスタムリカバリーとパッチを当てたXposedが必要ですので注意して下さい。

■ファームウェアの入手方法

今回のファームウェアのアップデイトはOTAやSmart Switch経由ではなくODINから焼きました。

ファームウェアは以下のサイトから入手可能です。

MATCL(韓国語、会員登録要)

Samsung Updates(英語)

sammobile(英語、会員登録要)

■root化方法

root化にはCF Auto Rootを使用する方法とTWRPを使用する方法がありますが、CF Auto RootはSUバイナリとSuperSUアプリのインストール後にリカバリを標準の物に戻す仕様となっています。

今回は、Xposedモジュールを使用する為、root化後もカスタム・リカバリが必要となりますので、TWRPを使用しました。

(参考)CF Auto Root
samsung SM-N920S noblelteskt universal7420 exynos5 MMB29K.N920SKSU2BPAF 6.0.1
CF-Auto-Root-noblelteskt-noblelteskt-smn920s.zip

[準備する物]

ODIN
Odin3_v3.10.7.zip

TWRP(必ず端末とOSのバージョンに合致したものを使用してください。)
twrp-3.0.0-3-M-noblelteskt.tar.md5

SuperSU(必ずv2.68以降を使用して下さい。)
BETA-SuperSU-v2.68-20160228150503.zip

[インストール方法]


1) SuperSUを端末にコピーしておきます。
2) 端末をダウンロードモード("電源+ホーム+ボリュームダウン"で起動後、"ボリュームアップ")で立ち上げます。
3) 端末とPCをケーブルで繋ぎます。
4) PC上でTWRPをODIN("Odin3 v3.10.7"を使用しました)の"AP"にセットして焼きます。
5) 端末をリカバリーモード("電源+ホーム+ボリュームアップ")で立ち上げ、ボリュームキーでSuperSUファイルを選択、電源キーで決定して焼きます。

■root化チェックアプリ対策

root化済み端末上では動作しないアプリがありますので、XposedモジュールのRootCloakを使用して対策しました。

Android 6.0のNote 5でXposedを利用する為には専用のパッチが必要です。

[準備するもの]

Xposed(Xposedインストーラ本体とNote 5用のパッチの両方が必要です。)
XposedInstaller_3.0_alpha4.apk(Xposedインストーラ)
xposed-v80.0-sdk23-arm64-custom-build-by-wanam-20160211.zip(Note 5用のパッチ)

[インストール方法]

1) Xposedインストーラを端末にインストールします。
2) パッチファイルを端末にコピーしてTWRPから焼きます。
3) XposedインストーラでXposedフレームワークをインストールします。
4) Xposedインストーラのダウンロードメニューから「RootCloak」をダウンロードして有効にします。
5) RootCloakにアプリを登録します。

■root化後のカスタマイズ

1) root化後にスクリプトで一括で無効化したシステムアプリ

不要なシステムアプリはroot化後にスクリプトを使用して一括で拡張子を書き換えて無効化しました。

Galaxy Note 5の不要なプリインストールアプリをスクリプトで一括無効化

2) カメラの無音化

従来機種同様、カメラアプリを解凍し、中の音源ファイルをを無音ファイルに置き換え、かつ、システムの側のファイルを幾つか無効化する事で、カメラアプリを無音化する事が出来ます。(root化必須。)

Android 6.0へのアップデイトに伴いカメラアプリのフォルダが下記に変更されていますので注意して下さい。

旧:/system/app/SamsungCamera4/SamsungCamera4.apk
新:/system/priv-app/SamsungCamera4/SamsungCamera4.apk

Galaxy Note 5のカメラの無音化

3) Greenifyで一部のアプリを休止

Greenifyを使用して常にバックグラウンドで起動しているアプリを休止しています。

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