我正在构建 AOSP 13 并尝试启用我的自定义设置向导,该向导不使用任何 GSM。我在我的自定义设备(平板电脑)上使用它。在我当前的版本中,我没有看到默认设置向导,但我想包含我的自定义向导以用于测试目的。
例如,我正在使用GrapheneOS-SetupWizard,但我在 logcat 输出中遇到以下问题。
$ logcat | grep setup
01-01 00:00:00.000 0 0 I : Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
01-10 09:30:01.199 614 639 I SystemConfig: Reading permissions from /system_ext/etc/permissions/privapp_whitelist_org.lineageos.setupwizard.xml
01-10 09:30:05.395 614 614 W PackageManager: Adding duplicate shared id: 1000 name=org.lineageos.setupwizard
01-10 09:30:06.215 614 614 E PackageManager: There should probably be exactly one setup wizard; found 0: matches=[]
01-10 09:30:26.472 614 830 I WifiNative: Successfully setup Iface:{Name=wlan0,Id=0,Type=STA_SCAN}
01-10 09:30:26.603 614 614 W DefaultPermGrantPolicy: Permission not found: com.google.android.setupwizard.SETUP_COMPAT_SERVICE
01-10 09:30:28.659 614 923 D CCodec : setup formats input: AMessage(what = 0x00000000) = {
...
如您所见,似乎存在共享 ID 重复和权限缺失的问题,导致无法正确设置向导。谁能提供有关如何解决此问题的见解?
请注意,日志消息指示找到 0 个匹配活动。搜索AOSP源代码可以找到检查发生的位置:
我特别看到:
private @Nullable String getSetupWizardPackageNameImpl(@NonNull Computer computer) {
final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_SETUP_WIZARD);
您引用的项目似乎没有使用与 AOSP 目前想要的内容相匹配的意图过滤器,因此建议您添加一个意图过滤器,如下所示:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.SETUP_WIZARD" />
</intent-filter>
另请参阅https://stackoverflow.com/a/77208285/215266,其中我建议尝试几种可能的过滤器。