<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HyperOS on 一个笔记本</title><link>https://izumi.pub/tags/HyperOS/</link><description>Recent content in HyperOS on 一个笔记本</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>izumi</copyright><lastBuildDate>Sat, 29 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://izumi.pub/tags/HyperOS/index.xml" rel="self" type="application/rss+xml"/><item><title>小米 17 Pro 升级 HyperOS 4.0 后 Chrome 访问内网闪退</title><link>https://izumi.pub/Android/xiaomi-17-pro-hyperos-4-chrome-local-network-crash/</link><pubDate>Sat, 29 Aug 2026 00:00:00 +0000</pubDate><guid>https://izumi.pub/Android/xiaomi-17-pro-hyperos-4-chrome-local-network-crash/</guid><description>&lt;h2 id="现象"&gt;现象
&lt;/h2&gt;&lt;p&gt;小米 17 Pro 升级到 HyperOS 4.0 / Android 17 后，Chrome 访问内网地址会直接闪退，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;打开 &lt;code&gt;http://192.168.10.1/&lt;/code&gt; 路由器后台时，Chrome 直接退出。&lt;/li&gt;
&lt;li&gt;访问内网 IP 或内网域名时，Chrome 同样闪退。&lt;/li&gt;
&lt;li&gt;MT 管理器连接 NAS SMB 超时。&lt;/li&gt;
&lt;li&gt;同一台手机访问公网正常。&lt;/li&gt;
&lt;li&gt;同一局域网内其他设备访问路由器和 NAS 正常。&lt;/li&gt;
&lt;li&gt;小米浏览器访问同样的内网地址正常。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当时的设备和系统版本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;设备：Xiaomi 17 Pro
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;型号：25098PN5AC
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;系统：HyperOS 4.0 / Android 17
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;构建：OS4.0.0.27.XBLCNXM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这个现象看起来像网络问题，但关键差异是：小米浏览器正常，Chrome 和 MT 管理器异常。说明底层网络大概率是通的，问题更可能出在应用权限层。&lt;/p&gt;
&lt;h2 id="解决办法"&gt;解决办法
&lt;/h2&gt;&lt;p&gt;用 ADB 查看 Chrome、MT 管理器和小米浏览器的本地网络权限：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb shell &lt;span class="s1"&gt;&amp;#39;cmd appops get --user 0 com.android.chrome ACCESS_LOCAL_NETWORK&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb shell &lt;span class="s1"&gt;&amp;#39;cmd appops get --user 0 bin.mt.plus ACCESS_LOCAL_NETWORK&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb shell &lt;span class="s1"&gt;&amp;#39;cmd appops get --user 0 com.android.browser ACCESS_LOCAL_NETWORK&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;异常状态类似这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Chrome:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Uid mode: ACCESS_LOCAL_NETWORK: ignore
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ACCESS_LOCAL_NETWORK: allow; rejectTime=...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;MT 管理器:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Uid mode: ACCESS_LOCAL_NETWORK: ignore
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ACCESS_LOCAL_NETWORK: allow; rejectTime=...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;小米浏览器:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ACCESS_LOCAL_NETWORK: allow; time=...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Chrome 和 MT 管理器的包级权限是 &lt;code&gt;allow&lt;/code&gt;，但 UID 级 AppOps 仍然是 &lt;code&gt;ignore&lt;/code&gt;。这会导致系统设置里看起来像是已允许，应用实际访问内网时仍然被拦。&lt;/p&gt;
&lt;p&gt;直接把受影响应用的 UID 级本地网络权限改回 &lt;code&gt;allow&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb shell cmd appops &lt;span class="nb"&gt;set&lt;/span&gt; --uid com.android.chrome ACCESS_LOCAL_NETWORK allow
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb shell cmd appops &lt;span class="nb"&gt;set&lt;/span&gt; --uid bin.mt.plus ACCESS_LOCAL_NETWORK allow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果使用无线调试，可以先配对手机：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb pair &amp;lt;phone-ip&amp;gt;:&amp;lt;pair-port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;adb devices -l
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;修复后再次打开 Chrome 访问 &lt;code&gt;http://192.168.10.1/&lt;/code&gt;，路由器后台可以正常打开；MT 管理器访问 NAS SMB 也恢复正常。&lt;/p&gt;
&lt;h2 id="问题原理"&gt;问题原理
&lt;/h2&gt;&lt;p&gt;Android 17 开始，本地网络保护对 target SDK 37 及以上应用强制执行。应用访问局域网地址、mDNS、SSDP、&lt;code&gt;NsdManager&lt;/code&gt; 等本地网络能力时，会受到 &lt;code&gt;ACCESS_LOCAL_NETWORK&lt;/code&gt; 影响。&lt;/p&gt;
&lt;p&gt;这次问题的核心不是 Chrome 没有权限，而是权限状态分裂：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;包级 AppOps：&lt;code&gt;ACCESS_LOCAL_NETWORK = allow&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;UID 级 AppOps：&lt;code&gt;ACCESS_LOCAL_NETWORK = ignore&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;系统更新后，部分 App 的 UID 级 AppOps 状态没有正确迁移。于是就出现了“设置界面看起来允许，但应用实际访问内网失败”的情况。&lt;/p&gt;
&lt;p&gt;小米浏览器没有这个 UID 级 &lt;code&gt;ignore&lt;/code&gt; 状态，所以同一网络下可以正常访问内网；Chrome 和 MT 管理器被 UID 级 AppOps 拦住，所以分别表现为闪退和 SMB 超时。&lt;/p&gt;
&lt;p&gt;Chrome 的闪退不是普通的 DNS 失败或 TCP 超时。崩溃日志里能看到它崩在自己的 &lt;code&gt;NetworkService&lt;/code&gt; 线程和 &lt;code&gt;libchrome.so&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fatal signal 5 (SIGTRAP), code 1 (TRAP_BRKPT)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;name: NetworkService &amp;gt;&amp;gt;&amp;gt; com.android.chrome &amp;lt;&amp;lt;&amp;lt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;backtrace:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; /data/app/.../com.android.chrome.../base.apk!libchrome.so
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也就是说，系统权限异常触发了 Chrome 网络服务侧的崩溃。&lt;/p&gt;
&lt;h2 id="注意事项"&gt;注意事项
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;只对确实需要访问内网的 App 执行 &lt;code&gt;ACCESS_LOCAL_NETWORK allow&lt;/code&gt;，不要批量放开所有应用。&lt;/li&gt;
&lt;li&gt;如果其他应用也出现类似问题，把包名替换成对应 App 后重复检查和修复即可。&lt;/li&gt;
&lt;li&gt;包名可以用 &lt;code&gt;adb shell pm list packages | grep -i &amp;lt;keyword&amp;gt;&lt;/code&gt; 查询。&lt;/li&gt;
&lt;li&gt;系统或应用后续更新可能再次改变 AppOps 状态，复发时重新检查 UID 级权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.android.com/privacy-and-security/local-network-permission" target="_blank" rel="noopener"
&gt;Android Developers: Local network permission&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.chrome.com/blog/local-network-access" target="_blank" rel="noopener"
&gt;Chrome for Developers: New permission prompt for Local Network Access&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>