You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AOSP 13中默认启用自定义APK的辅助功能服务

实现AOSP 13默认开启自定义APK的辅助功能服务

可以通过修改AOSP系统层面的配置实现,无需修改目标APK,以下是几种可行方案:

方案1:修改SettingsProvider的默认配置

enabled_accessibility_services属于系统安全设置项,可通过SettingsProvider的默认值文件预先配置:

  1. 打开AOSP源码中的frameworks/base/packages/SettingsProvider/res/values/defaults.xml
  2. 添加或修改对应项:
    <item name="enabled_accessibility_services" type="string">"com.example.yourapp/.YourAccessibilityService"</item>
    
    如果需要默认开启多个辅助服务,用冒号分隔:
    <item name="enabled_accessibility_services" type="string">"com.example.yourapp/.YourAccessibilityService:com.another.app/.AnotherService"</item>
    
  3. 重新编译SettingsProvider模块或整个AOSP,刷入设备后,系统初始化时会自动应用这个默认值。

方案2:通过系统初始化脚本执行设置命令

利用系统启动阶段的脚本直接写入设置项,步骤如下:

  1. 在AOSP源码中创建或修改设备专属init脚本(比如device/[你的设备型号]/init.[你的设备型号].rc)
  2. 添加以下命令,确保在系统服务启动完成后执行:
    on boot_completed
        exec -- /system/bin/settings put secure enabled_accessibility_services "com.example.yourapp/.YourAccessibilityService"
    
  3. 编译并刷入系统,系统启动完成后会自动执行该命令开启服务。

方案3:修改Settings应用预勾选服务

如果需要在设置界面中也默认显示已勾选状态,可修改Settings应用代码:

  1. 打开packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettings.java
  2. 在加载辅助服务列表的逻辑中,为目标服务设置默认勾选状态。不过这种方式相对繁琐,不如前两种直接高效。

注意事项

  • 确保目标APK已预装到系统分区(如system/app或product/app目录),否则系统无法识别该辅助服务;
  • 辅助服务的声明必须符合AOSP规范(在AndroidManifest.xml中正确配置accessibility-service标签及相关权限);
  • 你已验证的ADB命令本质就是修改该安全设置项,上述方案都是在系统层面实现相同效果,只是执行时机更早(系统初始化阶段)。

内容的提问来源于stack exchange,提问作者Margish thumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 22:49:54