RT,小米 13 到手试了很多次,使用 Aurora Store 和 Google Play 下载均失败,并不是下载到一半中断这种网络环境问题,而是无法开始下载,连安装包大小都没获取到。
网络环境:尝试了移动流量使用 Clash 和 WI-FI 环境旁路网关 OpenWrt ,均能正常浏览 Google 各种服务,唯独在商店内下载应用无法开始。
同网络环境下 Android 8 的小米手机可通过 Aurora Store 正常安装,网页端 Google 账号的设备管理可以查看到小米 13。
已尝试过关闭 MIUI 优化并重启,仍然失败。
lenno
(Lenno/柠檬猫)
2
MIUI下可能存在两个问题。
- 节点问题。下载服务器的域名被屏蔽或者未进入规则列表。MIUI下还可能是以cn结尾的服务器域名,需要通过magisk模块解决。
- MIUI内置的配置是cn和被污染域名。刷magisk模块,有一个叫MIUIGMS的项目。更新play服务和play商店。
ps. 我的aurora在大陆版MIUI上不能正常工作,欧版MIUI可以工作。没去理,干脆不用了。
可选替代: apk mirror, uptodown, apkpure, 还有一个好像是叫aide?
1 个赞
在 Aurora Store 里可以复制下载链接,确实是 services.googleapis.cn ,准备折腾 Magisk 去了……过保再考虑刷 MIUI EU
这两天新到手的小米13,用clash for android,可以正常下载安装
小米的DownloadProvider是魔改的,看看是不是使用了迅雷。 其他问题参考lenno的回答。部分国产系统可能需要手动放行关联启动和/或后台弹出界面,但MIUI似乎对于基本的Google服务是开绿灯的。
services.googleapis.cn 的问题是2016或17年Google主动适配中国之后引起的,并在2017-2018被广泛注意。海外臭名昭著的龙飞计划(蜻蜓,Dragonfly)也是这一时期的产物。一般加入代理列表即可,不需要magisk或*xposed模块。此外为了减少因为规则根本不可能完全覆盖全世界的域名而带来的DNS泄露,建议Android用户充分利用能够按包名分流的优势,不要盲目跟风仅使用域名规则。
事实上连推送使用的位于国内的mtalk也不建议直连,因为可能会遭遇运营商的地区墙。
2 个赞
去检查了下订阅的 Clash 规则,是有 services.googleapis.cn 的,看了您的回答也去下载管理关了迅雷引擎(实际上我另一台 Android 8 的小米是正常开着迅雷的也没问题)不知道哪里出问题,头疼……
lenno
(Lenno/柠檬猫)
7
按我的经验:
1.换别人的节点试试,部分服务/节点内部黑名单cn域名,哪怕加了规则也会被屏蔽或直连。
2.换其他客户端例如ss/*ray,通过包名控制不要走域名控制试试,clash的规则没弄好的话破事太多了。
3.有条件还是要上Magisk模块,还能使用fcm推送。
1 个赞
首先为了防止有新近增加的域名未被用户报告或未被规则收录,仍然强烈建议使用包名规则。对于部分代理软件,可能需要一些额外的工作来确保DNS流程是足够对抗任何环节的污染的。
其次可以在浏览器中使用匿名模式打开搜索,看看页面下面显示的IP属地(XX - 根据您的IP),如果显示为中国则不能下载,进一步的原因可能仍与上文提到的对中国区的适配有关,曾经AndroidDev的中国站也存在功能缺失, 但当年Google并不会如此激进地标注IP地理位置。港澳的IP成分有些复杂,具体原因我也没弄明白。伊朗的情况不了解,其他地区IP无此限制。
如果搜索结果展示方式为连续显示无分页导致无法查看底部信息,可以尝试换一个浏览器, 或是在搜索的高级设置中关闭自动加载。
此外如果不能下载的只有WebView、Chrome等,那么可能是因为SpiltApks(a.k.a. AppBundle)和Chrome打包为SpiltApk时的bug引起的,可以尝试通过从第三方网站下载包含各种spiltApks且未将其合并为单一apk的软件包进行安装。但需要注意的是,即便你下载的是网站标注为适用于你的系统与架构的版本,也未必能正确运行,一些古早的识别版本号的方法介绍也可能不适用于新的版本号,看不懂的话就卸载多试几个,我对版本号规则不了解。
之前调试Clash规则的时候抓到了一些PlayStore零星发出的UDP流量,我不了解其作用。如果以上措施均无效,也可能这些UDP流量中包含用于探测真实IP的成分。因为我是充分利用包名规则且在手机上全局禁止UDP通过代理的,所以不必深究。但这只是一个我个人毫无依据的、用于最后解释其他手段均告失败的理由,在能够确切地认定其他手段无效之前,这段话是完全不应该被理会的。 如果不幸被言中,可以在代理软件中拦截UDP流量,并将其reject/block/blackhole.
Android 8 太早了,Android 7.1的时候Google才搞好了通过PlayStore调用DownloadProvider的时候不必为DownloadProvider也指定代理规则,所以当年的系统/GMS行为未必和现在一致。
1 个赞
Sonar
(Sonar)
9
类似问题,仅 Google Play,非小米,googleapis.cn 全部 PROXY 后已解决,此外 Google 直连域名 全部 DIRECT,希望能帮到你
1 个赞
Randir
10
多谢 @SomeoneAtAppinn @lenno 的耐心解答和细致科普!我首先尝试了切换到其他节点但是仍然失败,后换了一家机场成功安装上了,看来是原来那家的规则不能满足新系统的要求。更新:在家里 OpenWrt 旁路网关上两家机场都不行,目前只有移动流量加第二家成功了,难绷
至于装 Magisk 、自己写 Clash 规则之类
怎么说呢,就是比起用 AHK 改 Capslocks 我更情愿整个 QMK/ZMK 键盘、比起装 Magisk 我更愿意刷 MIUI EU、比起写规则我更喜欢换家机场/换个客户端,这样子
自己写 Clash 规则可能远比你想象的简单,机场基本上用的也是下面这个项目加上一些现成的规则集。你对比一下机场订阅链接格式和文档中的示例就明白了。
1 个赞
lenno
(Lenno/柠檬猫)
12
能分享一下好用的subcon的API吗?
机场用的规则不好用,又希望能同时跟上机场节点和规则列表的更新。
lenno
(Lenno/柠檬猫)
13
这就是我说的“按我的经验”中第一种情况。我是实打实的踩坑过来的。折腾了半天,去找机场主发现是默认屏蔽cn。这种一般会有那么几个节点特别开放了cn的屏蔽方便play的下载更新,需要去询问。
另外,MIUI EU不要认为多好用,在你没能解决clash规则和节点稳定之前,他会带来一些不必要的麻烦。
以及,损失MIUI一些好用的本地化功能。
1 个赞
我建议自己搭建 subconverter 后端,当然你也可以使用一些大机场的,比如花云 https://api.huacloud.xyz