V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zinwalin
V2EX  ›  Android

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

  •  
  •   zinwalin · 2022-09-08 10:09:16 +08:00 · 8387 次点击
    这是一个创建于 807 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    多谢大佬

    11 条回复    2022-09-17 14:44:08 +08:00
    aerzha
        1
    aerzha  
       2022-09-08 10:29:35 +08:00
    修改源码的话,我记得有个 xml 配置,可以配置对应的包名及默认给予的权限,PMS 源码查下看看?
    zinwalin
        2
    zinwalin  
    OP
       2022-09-08 11:04:11 +08:00
    @aerzha 多谢回复,有 xml 的关键字吗? 不一定准确,我可以更容易搜索。
    zinwalin
        3
    zinwalin  
    OP
       2022-09-08 11:05:53 +08:00
    @aerzha 网上查到 def_permission.xml
    Darkatse
        4
    Darkatse  
       2022-09-08 11:10:33 +08:00
    app ops 设置模板
    xingda920813
        5
    xingda920813  
       2022-09-08 22:02:55 +08:00
    通过 adb install -g 安装即可为应用程序授予所有运行时的权限.
    SupperMary
        6
    SupperMary  
       2022-09-09 07:54:30 +08:00
    有源码就很简单了,app 授权是发给一个叫 permissionmanager ,改这个 app ,识别到是你想开放权限的这个 app 的时候,就默认通过授权就可以了。
    aerzha
        7
    aerzha  
       2022-09-09 10:21:46 +08:00
    @zinwalin 好久没搞系统开发了,简单查了下,你试试可不可行:
    1. DefaultPermissionGrantPolicy.java 中的 getDefaultPermissionFiles() 方法,会读取各目录下的 xml 配置, 一般我修改 vendor 下的
    aerzha
        8
    aerzha  
       2022-09-09 10:26:47 +08:00
    @aerzha 手滑发出去了,你参考看下 getDefaultPermissionFiles() 源码,去 android 源码中的各目录下看看,参考其他 app 的写法,再把你的 app 加进去就可以了。
    zinwalin
        9
    zinwalin  
    OP
       2022-09-11 10:03:45 +08:00 via iPhone
    @aerzha 感谢。下周试试
    zinwalin
        10
    zinwalin  
    OP
       2022-09-11 10:04:14 +08:00 via iPhone
    @SupperMary 感谢。
    deng81416754
        11
    deng81416754  
       2022-09-17 14:44:08 +08:00
    如果有系统的签名,也可以实现
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:32 · PVG 21:32 · LAX 05:32 · JFK 08:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.