是否有可能在android中监视第三个paty应用程序意味着我想知道第三方应用程序的所有日志,例如应用程序xyz访问联系人列表,在凌晨2:30,星期四。
我们可以更改框架代码,就像任何应用程序在sqlite框架类上运行任何查询时都会生成一个日志吗?我认为应该可以通过root设备但不确定如何实现它。
答案 0 :(得分:4)
LogCollector
安装LOG COLLECTOR应用程序
答案 1 :(得分:4)
更改框架以了解谁访问任何contentProvider的一种方法是更改
ContentProvider.java中的 enforceReadPermission
和enforceWritePermission
用于记录调用contentProvider的包,
Log.d(TAG,""+getCallingPackages() +" app called provider "+ uri.getAuthority());
getcallingpackages函数
private Collection<String> getCallingPackages() {
int caller = Binder.getCallingUid();
if (caller == 0) {
return null;
}
return Lists.newArrayList(mContext.getPackageManager().getPackagesForUid(caller));
}
答案 2 :(得分:2)
如果您知道应用程序名称,并且它实际创建了日志(即已启用日志),则会对其进行过滤以查看特定于该应用程序的日志。
答案 3 :(得分:2)
我们可以更改框架代码,就像任何应用程序在sqlite框架类上运行任何查询时都会生成一个日志吗?
通过分配Android来添加您的更改,创建您自己的ROM mod,其中包含Android的分叉副本,并在您的设备上安装该ROM mod。
我认为应该可以通过root设备
充其量,您可以跳过“创建自己的ROM mod”步骤,并尝试将修订后的框架JAR复制到您的root设备中。但是,如果该框架JAR不与您的其他操作系统对齐,则各种操作可能无效。这就是为什么唯一安全的方法是通过完整的ROM模式。
答案 4 :(得分:1)
也许你可以为Android安装一个aop框架......