首页
社区
课程
招聘
[求助]在root下app_process启动的java进程怎么获取context
发表于: 2023-3-14 13:16 7589

[求助]在root下app_process启动的java进程怎么获取context

2023-3-14 13:16
7589

最近在写一个root下的服务进程 。本来想获取下设备的一些基础信息 。看到好多信息都是要拿到context才可以获取 。。但是用app_process启动的进程没有这个东西 。。有没有什么办法拿到这个呢。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (11)
雪    币: 507
活跃值: (1742)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

只能拿一点点

https://github.com/Genymobile/scrcpy/blob/master/server/src/main/java/com/genymobile/scrcpy/Workarounds.java

最后于 2023-3-14 13:39 被seeeseee编辑 ,原因:
2023-3-14 13:39
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
seeeseee 只能拿一点点https://github.com/Genymobile/scrcpy/blob/master/server/src/main/java/com/genymobile/scrcpy/Wo ...

感觉这个办法拿到过后 好多东西还是用不了 要异常。。

其实我主要是想拿到屏幕的分辨率 。但是自己并没有app。就一个root服务和app_process启动的服务。。很蛋疼。看了下scrcpy代码。感觉他获取分辨率都是通过adb传进来的参数。不知道是不是。

最后于 2023-3-14 18:07 被Troy编辑 ,原因:
2023-3-14 16:39
1
雪    币: 2334
活跃值: (10386)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你想要系统属性的信息,可以通过Runtime.exec方法执行getprop获取,包括上面说的分辨率
2023-3-15 09:53
0
雪    币: 4939
活跃值: (2360)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也研究了几天,好像是拿不到的,反射调用也拿不到
2023-3-15 09:54
0
雪    币: 507
活跃值: (1742)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
Troy seeeseee 只能拿一点点https://github.com/Genymobile/scrcpy/blob/master/server/sr ...
所以我说只能拿一点点,很多东西是拿不到的。有root建议把自己注入到system_server或者Settings中去。
2023-3-15 10:49
0
雪    币: 4939
活跃值: (2360)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你瞒我瞒 你想要系统属性的信息,可以通过Runtime.exec方法执行getprop获取,包括上面说的分辨率
分辨率倒是可以通过反射获取到
2023-3-15 11:18
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
其实我是想抓个图片。分辨率我抄scrcpy 反射android.hardware.display.DisplayManagerGlobal可以拿到了 。抓图手机屏幕过后。。Bitmap 我要传走。转换成2进制bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 这一句居然执行了1秒 。什么情况。我记得现在的CPU 抓屏到把数据传走也就毫秒级的 。这个玩意这么慢么。
2023-3-15 13:11
0
雪    币: 239
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
Troy 其实我是想抓个图片。分辨率我抄scrcpy 反射android.hardware.display.DisplayManagerGlobal可以拿到了 。抓图手机屏幕过后。。Bitmap 我要传走。转换 ...
shell执行 wm size 
2023-3-15 15:32
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
我做过一个跟楼主几乎完全一样的事情,甚至抄的也是scrcpy,传图片用内存映射就可以做到几十毫秒了。
但是我遇到那个代理进程我不知道怎么保活,在一些虚拟机上面经常被杀。如果楼主知道告诉我一下。
2023-5-11 22:23
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
seeeseee 所以我说只能拿一点点,很多东西是拿不到的。有root建议把自己注入到system_server或者Settings中去。[em_27]
老大能不能讲讲app_process启动的进程如何做保活
2023-5-11 22:40
0
雪    币: 3344
活跃值: (2009)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
12
1. 反射调用ActivityThread的getSystemContext获取到systemcontext;
2. 反射调用Context的createPackageContext方法,传入包名,获取到指定包的context对象
然后你就可以愉快的屏幕分辨率了。
2023-5-13 16:20
0
游客
登录 | 注册 方可回帖
返回
//