12628


設定アプリのアプリケーションの一覧画面からアプリを無効化できますが、これをadbコマンドで行うことはできますか？  
手元にある20台くらいの端末（機種は同じ）の中の決められたパッケージのアプリを無効化するスクリプトを書きたいです。


CC BY-SA 3.0
2015-07-23T12:30:12.440
12625
2015-07-23T13:33:20.413
450
question
android adb
adbからアプリを無効化したい


`adb`から`pm`コマンドでパッケージマネージャを起動して、類似のことはできます。

Android 4.4以降であれば、`block/unblock`コマンドが使えます。

[code]

    // アプリを無効化
    adb shell pm block　<PACKAGE_OR_COMPONENT>
    // アプリ無効化を解除
    adb shell pm unblock <PACKAGE_OR_COMPONENT>
    
[/code]

Android5.0からはコマンドが変わり、`hide/unhide`になりました。

[code]

    // アプリを無効化
    adb shell pm hide　<PACKAGE_OR_COMPONENT>
    // アプリ無効化を解除
    adb shell pm unhide <PACKAGE_OR_COMPONENT>
    
[/code]

類似のコマンドに`disable/enable`があり、こちらはAndroid4.0から使えますがroot権限が必要のようです？

[code]

    // アプリを無効化（アプリ一覧からも抹消）
    adb shell pm disable <PACKAGE_OR_COMPONENT>
    // アプリを無効化（アプリ一覧には残す）
    adb shell pm disable-user <PACKAGE_OR_COMPONENT>
    // アプリ無効化を解除
    adb shell pm enable <PACKAGE_OR_COMPONENT>
    
[/code]

これらのコマンドは、設定から無効化を行えないアプリも対象にできるほか、コンポーネント単位で指定できるので特定の`Activity`だけ無効化するといったことも可能です。


CC BY-SA 3.0
2015-07-23T13:33:20.413
12628
2015-07-23T13:33:20.413
5337
12625
answer