Android 12+ 使用*.mydomain.net时即时应用链接验证失败求助
Android 12+ 即时应用链接验证失败(PackageManager$NameNotFoundException)解决思路
问题背景
- 即时应用在Android <12版本运行正常,Android 12+出现应用链接验证失败
- Manifest声明、
.well-known/assetlinks.json配置均与Google Play开发者控制台一致 - 执行验证命令:
adb shell pm verify-app-links --re-verify mypackagename - Logcat日志抛出核心错误:
AppLinksHostsVerifierV2 com.google.android.gms E Could not find package to verify: my.package.name [CONTEXT service_id=244 ] android.content.pm.PackageManager$NameNotFoundException: my.package.name - 应用已安装,可在系统设置的应用列表中找到。
解决思路
核对包名准确性
确保验证命令中的包名与Manifest文件package字段完全一致,包括大小写。即时应用可能存在包名变体(如带instant后缀),可通过adb shell pm list packages | grep instant命令确认设备上实际安装的即时应用包名。指定用户ID执行验证
日志中提到Legacy cross-profile verification enabled,Android 12+跨配置文件验证逻辑有变更,尝试在命令中指定主用户ID执行:adb shell pm verify-app-links --re-verify --user 0 mypackagename可通过
adb shell pm list users查看设备上的所有用户ID。更新Google Play服务
日志显示当前Google Play服务版本为22.48.14,旧版本可能存在即时应用验证的兼容性BUG,将设备上的Google Play服务更新至最新版本后重新验证。清除Google Play服务缓存
清除Google Play服务的缓存和数据,重置验证状态:adb shell pm clear com.google.android.gms操作完成后重新执行链接验证命令。
确认即时应用安装状态
通过以下命令查看即时应用的完整安装信息,确认包是否被系统正确识别:adb shell pm dump mypackagename | grep -A 10 "Package Info"若输出信息不完整,尝试重新安装即时应用(通过Google Play或adb安装对应即时应用包)。
适配Android 12+验证机制
Android 12+要求发布到Google Play的应用必须通过Play服务完成链接验证,确保:- 即时应用已正确发布到Google Play
- 测试设备已登录对应开发者账号的Google账号
- 设备未禁用应用链接验证相关权限
内容的提问来源于stack exchange,提问作者Happy Dev
相关产品推荐
相关产品推荐

