スマホ本体から “アンインストール” も “無効” もできないアプリを強制的に無効化する方法

スポンサーリンク
スポンサーリンク
Android

スマートフォンにインストールされているアプリはアンインストールや無効化と言った操作を行うことができますが、アプリによってはスマートフォン本体でできない場合もあります。しかし、パソコンから操作することで強制的に無効化することができます。

この記事は一部イレギュラーな内容を含んでいます。したがって、すべて自己責任にて行い何がおきても一切の責任は負いません。

無効にできないアプリ

ドコモやau、ソフトバンクなどのキャリアから販売されているスマートフォンにはキャリアのサービスで使用するアプリが多数プリインストール(プレインストール)されています。MVNO(格安SIM)を使用していると、これらのキャリアアプリは無駄にリソースを食うだけの不要なアプリであるためアンインストールしたいところですが、多くの場合でアンインストールできないようになっています。

最近のAndroidスマートフォンでは、アプリの “無効化” と言った操作を行うことができますが、全てのアプリに対して無効化することはできず一部で無効化できないアプリもあります。

参考 アンインストールできないアプリを “スマホ本体” で無効化する方法

しかし、パソコンから操作を行うことで、これを強制的に無効化することができます。

Xperia XZやXperia X Compactなどでは2016年11月に配布されたセキュリティーパッチによって実行できなくなっている場合があります。

強制的に無効化する手順

この手順ではパソコンからの操作が必要になります。そのため、パソコンに操作の為の環境構築が必要になります。また、“Android 4.4 KitKat” 以降のAndroid OSが必要です。
参考 Xperiaカスタム用のパソコン環境構築手順

システムアプリ名の一覧を取得する

  1. コマンドプロンプトより 以下のコマンド を入力します。
    参考 Windowsのコマンドプロンプトを起動する方法

    adb shell pm list packages -s > apklist.txt
    
    コマンドプロンプト(管理者)では無く “コマンドプロンプト” を起動するようにしてください。
    無効にしたアプリを調べたい場合には “-s” を “-u” に変更すれば、同じようにリストが表示されます。
  2. ユーザディレクトリにシステム領域のアプリ名一覧が記載された『apklist.txt』と言う名前のテキストファイルが保存されます。
    保存される場所は環境によって異なりますが、デフォルトでは “C:\Users\[ユーザ名]” に保存されます。

システムアプリ名の一覧を取得するやり方は以上です。

無効化したいアプリの抽出

次に保存した “apklist.txt” から無効化したいアプリを抽出し、別途『無効化リストファイル』を作成します。

アプリはパッケージ名で記載されていますので一見すると何なのかわかりませんが、企業名などをヒントに抽出すると良いでしょう。また、アプリのパッケージ名を知ることができるアプリも存在しているので必要に応じて使用すると良いでしょう。

参考 Xperiaにインストールされているアプリのパッケージ名を確認する「マイパッケージ」

今回は例として、ドコモスマートフォンであるXperia Z3 Compact SO-02GのAndroid 6.0.1 Marshmallowにプレインストールされているドコモアプリを強制的に無効化してみます。

  1. ドコモアプリはパッケージ名に “docomo” や “dcm” などの文字列が含まれていることが多いので、これを検索し行全てを別ファイルにコピー&ペーストして無効化リストを作成します。
    ドコモアプリの中でパッケージ名に“docomo” や “dcm”が含まれないアプリが存在しており、ドコモ電話帳は『com.android.contacts』、ドコモ電話は『com.android.dialer』となっているので、不要であれば合わせてコピー&ペーストしておきましょう。
    緊急地震速報などに利用されるエリアメールはMVNO(格安SIM)でも受信することができるので『com.nttdocomo.android.areamail』と『jp.co.nttdocomo.saigaiban』はコピー&ペーストしない方が良いでしょう。
    おサイフケータイを使用する場合は『com.nttdocomo.android.felicaremotelock』をコピー&ペーストしない方が良いでしょう。
  2. 無効化リストより “package:” を『adb shell pm hide 』に全て書き換えます。
    文字列 “hide” の後に半角スペースを忘れないように注意してください。
    Android 4.4 KitKatの場合は “adb shell pm hide” を『adb shell pm block』に読み替えてください。
    手動でやるのが面倒である場合、テキストエディタの置換機能を使用すると早くてオススメです。
    参考 ITエンジニアの必需品「サクラエディタ」を使いこなす
  3. 上記の作業が終わった内容が以下になります。
    adb shell pm hide com.nttdocomo.android.dcmvoicerecognition
    adb shell pm hide jp.co.nttdocomo.lcsapp
    adb shell pm hide com.nttdocomo.android.dota
    adb shell pm hide com.nttdocomo.android.wipe
    adb shell pm hide com.nttdocomo.android.settings.lac
    adb shell pm hide com.nttdocomo.android.hcebridge
    adb shell pm hide com.nttdocomo.android.databackup
    adb shell pm hide com.nttdocomo.android.screenlockservice
    adb shell pm hide com.nttdocomo.android.osv.res.overlay_305
    adb shell pm hide com.sonyericsson.android.servicemenu.product.res.overlay.docomo
    adb shell pm hide com.nttdocomo.android.rwpushcontroller
    adb shell pm hide com.nttdocomo.android.schedulememo
    adb shell pm hide com.nttdocomo.android.pf.dcmwappush
    adb shell pm hide jp.co.omronsoft.android.decoemojimanager_docomo
    adb shell pm hide jp.co.nttdocomo.anshinmode
    adb shell pm hide com.nttdocomo.android.iconcier_contents
    adb shell pm hide com.nttdocomo.android.docomoset
    adb shell pm hide com.nttdocomo.android.applicationmanager
    adb shell pm hide com.nttdocomo.android.dota.res.overlay_305
    adb shell pm hide com.nttdocomo.android.apnsw
    adb shell pm hide com.nttdocomo.android.dhome
    adb shell pm hide com.nttdocomo.android.store
    adb shell pm hide com.nttdocomo.android.docomo_market
    adb shell pm hide com.nttdocomo.android.atf
    adb shell pm hide com.nttdocomo.android.lac
    adb shell pm hide com.nttdocomo.android.osv
    adb shell pm hide com.nttdocomo.osaifu.tsmproxy
    adb shell pm hide com.nttdocomo.android.bugreport
    adb shell pm hide com.nttdocomo.android.tapandpay
    adb shell pm hide com.nttdocomo.android.pf.dcmippushaggregator
    adb shell pm hide com.sonyericsson.docomo.settings
    adb shell pm hide com.nttdocomo.android.cloudset
    adb shell pm hide jp.co.nttdocomo.bridgelauncher
    adb shell pm hide jp.co.nttdocomo.lcsappsub
    adb shell pm hide com.nttdocomo.android.accountauthenticator
    adb shell pm hide com.threelm.dm.app.docomo
    adb shell pm hide com.nttdocomo.android.idmanager
    adb shell pm hide com.nttdocomo.android.voiceeditor
    adb shell pm hide com.nttdocomo.android.mediaplayer
    adb shell pm hide com.nttdocomo.android.sdcardbackup
    adb shell pm hide com.nttdocomo.android.socialphonebook
    adb shell pm hide com.nttdocomo.android.initialization
    adb shell pm hide jp.co.nttdocomo.carriermail
    adb shell pm hide com.nttdocomo.android.remotelock
    adb shell pm hide com.android.contacts
    adb shell pm hide com.android.dialer
    
  4. 作成した無効化リストを保存します。
    ファイル名は “so-02g-mm-disable-list.bat” など最後の文字列(拡張子)を『.bat』にして保存します。これをバッチファイルと呼びます。

無効化したいアプリを抽出するやり方は以上です。

アプリの無効化を実行

機器管理機能の設定

  1. 設定の “セキュリティ” より『機器管理機能』を表示します。

    SO-02G→marshmallow→設定→セキュリティ

  2. 機器管理機能より『おまかせロック』『遠隔初期化』をオフにします。

    SO-02G→marshmallow→設定→セキュリティ→機器管理機能

    チェックを外さずに実行すると『おまかせロック』『遠隔初期化』を無効化することができないので注意してください。

無効化リストの実行

  1. パソコンとスマートフォンをUSBケーブルで接続します。ダイアログ “USBの使用” が表示された場合には『ファイルの転送(MTP)』を選択します。

    SO-02G→marshmallow→ダイアログ→USBの使用

  2. 作成した無効化リストファイルを実行(ダブルクリック)すると、コマンドプロンプトが表示されて次々とアプリケーションが無効化されていき、コマンドプロンプトが閉じれば終了です。

無効化リストを実行するやり方は以上です。

スマートフォン本体の操作では無効化できないアプリを無効化できるのがすばらしいところです。加えて、一度ファイルを作成してしまえば初期化しても再度一括で無効化することができます。そのため、作成したファイルは次のバージョンアップが提供されるまで大事に保存してくことをオススメします。

無効化したアプリを再度有効化したい場合は “adb shell pm hide” を『adb shell pm unhide』に変えて実行します。
※Android 4.4.4 KitKatの場合は “unhide” を『unblock』に読み替えてください。