非ルート デバイスで APK のパッケージ名を取得する方法を見つけました。それほどエレガントではありませんが、常に機能します。
ステップ 1 : デバイスでターゲット APK を開きます
ステップ 2 : PC コマンド ウィンドウで、次のコマンドを入力します。
adb shell dumpsys activity a > dump.txt
このコマンドの出力は多数あるため、ファイルにリダイレクトすることをお勧めします。
ステップ 3 : この dump.txt ファイルを任意のエディターで開きます。
Android 4.4 より前のデバイスの場合:
ファイルの先頭は次のようになります。
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Main stack:
* TaskRecord{41aa9ed0 #4 A com.tencent.mm U 0}
numActivities=1 rootWasReset=true userId=0
affinity=com.tencent.mm
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10600000 cmp=com.tencent.mm/.ui.LauncherUI}
realActivity=com.tencent.mm/.ui.LauncherUI
askedCompatMode=false
lastThumbnail=null lastDescription=null
lastActiveTime=19915965 (inactive for 10s)
* Hist #9: ActivityRecord{41ba1a30 u0 com.tencent.mm/.ui.LauncherUI}
packageName=com.tencent.mm processName=com.tencent.mm
パッケージ名は 3 行目にあり、この例ではcom.tencent.mmです。
Android 4.4 以降の場合:
dumpsys の出力が少し変更されました。「Stack #1」を検索してみてください。パッケージ名はそのすぐ下にあります。
また、「baseDir」で検索すると、apk ファイルのフル パスが表示されます。