在 Oreo 中自定义 google setupwizard 时出现安全异常
Security exception while customizing google setupwizard in Oreo
自定义设置向导 + google 设置向导 -> 主屏幕
- 引用的 GmsSampleIntegration
- 编写了一个单独的自定义安装向导应用程序(apk)
- 自定义设置向导正在成功启动
- 在面向下方的自定义设置向导后启动 google 设置向导时:
无法恢复 activity {com.google.android.setupwizard/com.google.android.setupwizard.network.NetworkActivity}: java.lang.SecurityException: NetworkScoreService: 用户 10037 和当前进程都没有 android.permission.REQUEST_NETWORK_SCORES.
观察:
REQUEST_NETWORK_SCORES为签名级权限
- 尝试了以下提到的选项:
- 将自定义设置向导放置为 priv-app
- 在清单文件
中使用了android.uid.system
- 在清单
中声明REQUEST_NETWORK_SCORES
- 清单中的类别 SETUP_WIZARD
- 清单中的操作 DEVICE_INITIALIZATION_WIZARD
在其中一个指向 google 包的向导脚本中,我更改为自定义 setupwizard 包。此后未发现安全异常。
自定义设置向导 + google 设置向导 -> 主屏幕
- 引用的 GmsSampleIntegration
- 编写了一个单独的自定义安装向导应用程序(apk)
- 自定义设置向导正在成功启动
- 在面向下方的自定义设置向导后启动 google 设置向导时: 无法恢复 activity {com.google.android.setupwizard/com.google.android.setupwizard.network.NetworkActivity}: java.lang.SecurityException: NetworkScoreService: 用户 10037 和当前进程都没有 android.permission.REQUEST_NETWORK_SCORES.
观察:
REQUEST_NETWORK_SCORES为签名级权限
- 尝试了以下提到的选项:
- 将自定义设置向导放置为 priv-app
- 在清单文件 中使用了android.uid.system
- 在清单 中声明REQUEST_NETWORK_SCORES
- 清单中的类别 SETUP_WIZARD
- 清单中的操作 DEVICE_INITIALIZATION_WIZARD
在其中一个指向 google 包的向导脚本中,我更改为自定义 setupwizard 包。此后未发现安全异常。