回答:
はい。コマンドはpm disable <package name>
です。これを行うには、rootになる必要があります。
シェルを開き、ルートを取得します。
PC> adb shell
shell@hammerhead:/ $ su
有効なアプリをすべてリストし、「計算機」でフィルタリングします。
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
アプリを無効にする:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
無効なアプリをすべてリスト:
root@hammerhead:/ # pm list packages -d
package:com.android.calculator2
package:com.google.android.apps.inputmethod.hindi
package:jp.co.omronsoft.iwnnime.ml
package:com.google.android.inputmethod.pinyin
package:com.google.android.inputmethod.korean
package:com.google.earth
root@hammerhead:/ #
注目に値するその他の事項:
pm enable <package name>
。実際、私の経験では、これがそれらを再度有効にする唯一の方法のようです。Manifest
はないかと思っています(私はAndroid開発者ではないので、わかりません)。
@eldarerathisの回答に加えて、特定のユーザーに対してアプリを無効にすることができます。この方法を使用して、ユーザー設定画面にリストされていない一部のアプリを制限付きユーザーから削除しました。からのすべてのコマンドadb shell
。変更するにはルートアクセスが必要です。
まず、ユーザーのIDを取得します。
$ pm list users
Users:
UserInfo{0:Alice:13} running
UserInfo{11:Bob:18} running
それから
$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user
再度有効にするには
# pm enable --user 11 com.cyanogenmod.filemanager
この例では、Aliceはファイルマネージャーを使用できますが、Bobは使用できません。
のhide
代わりに同様のことを行うことができますdisable
。どちらが最適かはわかりませんが、この回答をご覧ください。逆のことhide
ですunhide
(有効にするには再起動が必要な場合がありますunhide
)。
パッケージをリストするには、を使用しますpm list pacakges --user 11
。与え-e
リストにパッケージを有効または-d
無効にしたものを見たい場合。隠しパッケージのフィルターはないようです。
FWIW、Amazon Fire(KFFOWI)上のCM 12.1でLollipopで上記を試しました。
これは、アプリがシステムアプリであるかサードパーティアプリ(ユーザーがインストール済み)であるかに関係なく機能するはずです。
「アプリのパッケージ名を決定する」の私の答えを参照して、関連するアプリのパッケージ名を取得し、adbシェルを使用してこれらのコマンドを実行します(ルートアクセスが必要です)。
adbシェル す pm disable PACKAGE#アプリを無効にし、[設定]-> [アプリケーション]で非表示にします pm hide PACKAGE#代替; Android Lollipop以降用 cmd package suspend PACKAGE#代替; パッケージはランチャーおよび設定アプリに表示されたままですが、使用できません。デバイス管理の機能
PACKAGE
アプリのパッケージ名を参照します
アプリを元に戻すには、上記のコマンドでdisableをenableに、hideをunhideに、サスペンドをunsuspendに置き換えて、root権限で実行します。
Android KitKat以上を使用していて、rootアクセスがない場合、PCでadbを使用してこのコマンドを実行します。
Android KitKatのadb shell pm block PACKAGE# adb shell pm hideパッケージ#Android Lollipopのみ adb shell pm disable-user PACKAGE#「pm hide」の代替; Android Lollipop以上の場合。これは、設定アプリでアプリを無効にするのと同じように機能します
アプリを元に戻すには:
Android KitKatのadb shell pm unblock PACKAGE# adb shell pm unhide PACKAGE#for Android Lollipopおよび以前に `pm hide`を使用した場合のみ adb shell pmは、Android Lollipop以上でパッケージ#を有効にします
変更はすぐに行われます。