[Android] Android 内にあるアプリパッケージを検索する

USB 接続で Android を操作できる adb command ですが、PCからターミナル経由でコマンドを送信するのではなく、Android アプリ自身からコマンドを送る方法について考えてみます。
 
Runtime.getRuntime().exec
あるいは
ProcessBuilder
を使います
 
下はProcessBuilderを使ってAndroid 内にあるアプリパッケージのリストを表示させた例です。
 
processbuilder_1
 

Android Studio 2.1.1
Android 6.0
sponsored link

ProcessBuilder の設定

 
adb コマンド なのですが既にAndroid の中ですので、adb は入りません
 
アプリケーション・パッケージを探すコマンドは
$ pm list packages
 
PCから接続している場合は、ターミナルで adb shell からシェルに入り、pm list packages を打ち込みます

 
コマンドとしてProcessBuilderに処理させるには
ProcessBuilder(command)
この command は文字配列かArrayListなどで入れなければなりません
 
MainActivity.java

 
レイアウトです
activity_main.xml

 
また、Runtime.getRuntime().exec を使って
Runtime.getRuntime().exec(new String[] {“pm”,”list”,”com.example.testapp”});
のようにすればできますが
ProcessBuilder の方が簡単です