非系统 App 如何默认授权某些权限?

2022-09-08 10:09:16 +08:00
 zinwalin

某个 App ,不想让它成为系统 App ,通过修改安卓 10 的源码,如何让 App 在请求权限时不弹出确认窗口?

网上查到有类似白名单的方式,有人用过吗? 或者直接 hard-code 到安卓 10 源码里也可以。

多谢大佬

8390 次点击
所在节点    Android
11 条回复
aerzha
2022-09-08 10:29:35 +08:00
修改源码的话,我记得有个 xml 配置,可以配置对应的包名及默认给予的权限,PMS 源码查下看看?
zinwalin
2022-09-08 11:04:11 +08:00
@aerzha 多谢回复,有 xml 的关键字吗? 不一定准确,我可以更容易搜索。
zinwalin
2022-09-08 11:05:53 +08:00
@aerzha 网上查到 def_permission.xml
Darkatse
2022-09-08 11:10:33 +08:00
app ops 设置模板
xingda920813
2022-09-08 22:02:55 +08:00
通过 adb install -g 安装即可为应用程序授予所有运行时的权限.
SupperMary
2022-09-09 07:54:30 +08:00
有源码就很简单了,app 授权是发给一个叫 permissionmanager ,改这个 app ,识别到是你想开放权限的这个 app 的时候,就默认通过授权就可以了。
aerzha
2022-09-09 10:21:46 +08:00
@zinwalin 好久没搞系统开发了,简单查了下,你试试可不可行:
1. DefaultPermissionGrantPolicy.java 中的 getDefaultPermissionFiles() 方法,会读取各目录下的 xml 配置, 一般我修改 vendor 下的
aerzha
2022-09-09 10:26:47 +08:00
@aerzha 手滑发出去了,你参考看下 getDefaultPermissionFiles() 源码,去 android 源码中的各目录下看看,参考其他 app 的写法,再把你的 app 加进去就可以了。
zinwalin
2022-09-11 10:03:45 +08:00
@aerzha 感谢。下周试试
zinwalin
2022-09-11 10:04:14 +08:00
@SupperMary 感谢。
deng81416754
2022-09-17 14:44:08 +08:00
如果有系统的签名,也可以实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/878545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX