首页 安卓教程,电脑教程

当你刷了类原生或者使用Pixel时,会发现你的 WIFI 图标上一直都有个叹号,在设置会提示”此网络无法连接到互联网”。

其实这个原因是因为国内网络绝大多数地区无法连接到Google,所以更换网址即可。
当然你也可以自己搭建

准备

  • 服务器
  • Nginx(Apache)

删库塔(宝塔)在后面会说怎么搭建

搭建网页

Nginx

直接在配置文件加入

location /generate_204
{
return 204;
}

Apache

安装rewrite模块并在.htaccess中加入

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{REQUEST_URI} /generate_204$
 RewriteRule $ / [R=204]
</IfModule>

测试

我们用wget测试,返回204即成功(curl也行)

--2020-12-05 20:50:49--  https://reallysnow.top/generate_204
Resolving reallysnow.top (reallysnow.top)... 58.211.137.159
Connecting to reallysnow.top (reallysnow.top)|58.211.137.159|:443... connected.
HTTP request sent, awaiting response... 204 No Content
2020-12-05 20:50:51 (0.00 B/s) - 'generate_204' saved [0]

关于宝塔

一图即懂
宝塔配置

添加到Android

ADB修改

在PowerShell或终端输入下列命令(提前安装好ADB工具包)

adb shell "settings put global captive_portal_http_url http://你的域名或者ip/generate_204";
adb shell "settings put global captive_portal_https_url https://你的域名或者ip/generate_204";

AOSP源码修改

在Android 10/11,只需修改/packages/modules/NetworkStack/res/values/config.xml的修改default_captive_portal_http_url和default_captive_portal_https_url两处strings
或者添加Overlay(叠加层)
感谢cramfs28

旧版:
修改NetworkMonitor.java解决,位置在源码文件夹/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
查找 private static final String DEFAULT_HTTPS_URL
将其值https://www.google.com/generate_204修改为:

https://你的域名或者ip/generate_204

查找 private static final String DEFAULT_HTTP_URL
将其值http://connectivitycheck.gstatic.com/generate_204修改为:

http://你的域名或者ip/generate_204

查找 private static final String DEFAULT_FALLBACK_URL
将其值http://www.google.com/gen_204修改为:

http://你的域名或者ip/generate_204

查找 private static final String DEFAULT_OTHER_FALLBACK_URLS(8.0-省略)
将其值http://play.googleapis.com/generate_204修改为:

~~http://你的域名或者ip/generate_204

修改完成重新进行编译

软件修改

下载CaptiveMgr,剩下我就不用说了吧(手动狗头)

最后

本站也开启了CaptivePortal,链接为https://reallysnow.top/generate_204

参考

https://blog.csdn.net/chitangli7842/article/details/100859524
https://blog.csdn.net/gsls200808/article/details/54574754
https://blog.starryvoid.com/archives/306.html
https://blog.csdn.net/jingwen3699/article/details/82898838




文章评论

    cramfs28 访客ChromeLinux
    2021-04-29 17:42   回复

    安卓10,11源码的CaptivePortal位置变了,可以给这篇文章更新一下,位于源码/packages/modules/NetworkStack/res/values/config.xml,修改default_captive_portal_http_url和default_captive_portal_https_url两处strings就可以了(最简单的方法还是扔个之前做好的overlay)

      ReallySnow 站长ChromeWindows
      2021-05-6 23:30   回复

      好的,明白

    青益 访客ChromeAndroid
    2020-12-8 23:58   回复

    流批

目录