Android dump命令查看某个apk是被谁安装的?
Android dump命令查看某个apk是被谁安装的?
adb shell dumpsys package packages > packageAll.txt OR
adb shell pm dump packages > packageAll.txt
然后搜索关键字“installerPackageName” 即可看到被谁安装的,该dump信息也会在bugreport里面
通过adb命令查看所有应用的安装者是谁,使用如下命令:
或者 :
adb shell pm list packages -i > Desktop/log.txt
输出格式:
package:包名 installer=安装器
package:com.example.ddd installer=com.google.android.packageinstaller
输入以下命令,打开某个应用可以实时查看包名,然后根据包名搜索 Desktop/log.txt 文件,进一步查看安装者是谁
Android "adb shell am monitor" 命令获取当前App的包名,持续监控
C:\Users\zz>adb shell am monitor
Monitoring activity manager... available commands:
(q)uit: finish monitoring
** Activity starting: com.google.android.apps.tachyon
** Activity starting: com.google.android.apps.tachyon
** Activity resuming: com.google.android.apps.tachyon
** Activity starting: com.google.android.apps.tachyon
** Activity resuming: com.google.android.apps.tachyon
** Activity starting: com.google.android.permissioncontroller
** Activity resuming: com.google.android.apps.tachyon
查看某个应用被谁安装,方法:
1、打个某个应用,查看应用包名,命令:adb shell am monitor
2、查看应用的安装者是谁,命令:adb shell pm list packages -i > log.txt
3、根据应用包名,在 log.txt 文件中搜索"installer="关键字,可查看安装者是谁。 若"installer=null"表示此应用是系统预置apk,且没有被更新。
卸载: adb shell pm uninstall --user 0 应用包名
停用: adb shell pm disable-user 应用包名
启用: adb shell pm enable 应用包名
查看手机有哪些应用处于disable状态的方法:
方法1:adb shell pm list packages -d
C:\Users\zzz>adb shell pm list packages -d
package:com.facebook.services
package:com.google.android.videos
package:com.facebook.appmanager
方法2:adb shell pm dump packages > Desktop/log2.txt
enabled=2 ---->表示应用处于disable状态,对应的值:COMPONENT_ENABLED_STATE_DISABLED
Package [com.facebook.appmanager] (a926214):
userId=10098
pkg=Package{9ae0abd com.facebook.appmanager}
codePath=/system/app/appmanager
resourcePath=/system/app/appmanager
legacyNativeLibraryDir=/system/app/appmanager/lib
primaryCpuAbi=arm64-v8a
secondaryCpuAbi=null
versionCode=277606887 minSdk=21 targetSdk=30
versionName=67.3.0
splits=[base]
apkSigningVersion=2
applicationInfo=ApplicationInfo{9ae0abd com.facebook.appmanager}
flags=[ SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA ]
privateFlags=[ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION ALLOW_AUDIO_PLAYBACK_CAPTURE HAS_DOMAIN_URLS PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING ]
forceQueryable=false
queriesIntents=[Intent { act=com.facebook.secure.packagefinder.intent.ACTION_QUERY_PACKAGES }]
dataDir=/data/user/0/com.facebook.appmanager
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
timeStamp=2021-07-12 23:30:37
firstInstallTime=2021-07-12 23:30:37
lastUpdateTime=2021-07-12 23:30:37
signatures=PackageSignatures{18e58b2 version:2, signatures:[c4e416cc], past signatures:[]}
installPermissionsFixed=true
pkgFlags=[ SYSTEM HAS_CODE ALLOW_CLEAR_USER_DATA ]
declared permissions:
com.facebook.appmanager.ACCESS: prot=signature, INSTALLED
com.facebook.appmanager.API_ACCESS: prot=normal, INSTALLED
install permissions:
android.permission.DOWNLOAD_WITHOUT_NOTIFICATION: granted=true
android.permission.FOREGROUND_SERVICE: granted=true
android.permission.RECEIVE_BOOT_COMPLETED: granted=true
android.permission.INTERNET: granted=true
android.permission.GET_PACKAGE_SIZE: granted=true
com.facebook.appmanager.ACCESS: granted=true
android.permission.ACCESS_NETWORK_STATE: granted=true
android.permission.ACCESS_WIFI_STATE: granted=true
android.permission.WAKE_LOCK: granted=true
User 0: ceDataInode=4785 installed=true hidden=false suspended=false distractionFlags=0 stopped=false notLaunched=false enabled=2 instant=false virtual=false
overlay paths:
/product/overlay/NavigationBarModeGestural/NavigationBarModeGesturalOverlay.apk
lastDisabledCaller: android
gids=[3003]
查看哪些应用属于系统签名?
方法:adb shell pm dump packages > Desktop/log2.txt
包名为"android"的apk属于平台apk,肯定是系统签名,首先看一下包名为"android"的apk的签名信息:
Package [android] (ad28bfa):
userId=1000
sharedUser=SharedUserSetting{769a3df android.uid.system/1000}
pkg=Package{6103b22 android}
codePath=/system/framework/framework-res.apk
resourcePath=/system/framework/framework-res.apk
legacyNativeLibraryDir=/system/lib64/framework-res
primaryCpuAbi=arm64-v8a
secondaryCpuAbi=null
versionCode=30 minSdk=30 targetSdk=30
versionName=11
splits=[base]
apkSigningVersion=3
applicationInfo=ApplicationInfo{6103b22 android}
flags=[ SYSTEM PERSISTENT ALLOW_BACKUP ]
privateFlags=[ PRIVATE_FLAG_ACTIVITIES_RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION ALLOW_AUDIO_PLAYBACK_CAPTURE DEFAULT_TO_DEVICE_PROTECTED_STORAGE DIRECT_BOOT_AWARE PRIVILEGED PRIVATE_FLAG_ALLOW_NATIVE_HEAP_POINTER_TAGGING ]
forceQueryable=true
queriesPackages=[]
dataDir=/data/system
supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]
timeStamp=2021-07-12 23:27:41
firstInstallTime=2021-07-12 23:27:41
lastUpdateTime=2021-07-12 23:27:41
signatures=PackageSignatures{539b9b3 version:3, signatures:[a0521abc], past signatures:[]}
installPermissionsFixed=true
pkgFlags=[ SYSTEM PERSISTENT ALLOW_BACKUP ]
declared permissions:
android.permission.READ_CONTACTS: prot=dangerous, INSTALLED
android.permission.WRITE_CONTACTS: prot=dangerous, INSTALLED
........
User 0: ceDataInode=4316 installed=true hidden=false suspended=false distractionFlags=0 stopped=false notLaunched=false enabled=0 instant=false virtual=false
overlay paths:
/product/overlay/NavigationBarModeGestural/NavigationBarModeGesturalOverlay.apk
从上面信息可以看到,签名信息:signatures:[a0521abc] ,然后在 log2.txt 文件全局搜索“a0521abc”,可以列出所有系统签名的应用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理