Android12 内置wifi 开机自动连接

参考

Android 8.1 预置WIFI

Android11.0(R) 预置 wifi 信息自动连接

Android 12系统源码_WIFI(一)WIFI相关服务的启动流程

Android中Wifi网络配置信息的保存加载与更改—WifiConfigStore.java解析

具体实现

1、设备使用debug 版本连接一个可用wifi。导出配置文件。

adb pull /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml

2、WifiConfigStore.xml将内置到system_ext目录下(不影响GSI)

# default wifi config
PRODUCT_COPY_FILES += vendor/hello/etc/WifiConfigStore.xml:system_ext/etc/WifiConfigStore.xml

3、在init.rc 增加启动触发

+++ b/system/core/rootdir/init.rc
@@ -1130,6 +1130,12 @@ on property:sys.boot_completed=1
     exec - system system -- /bin/rm -rf /data/per_boot
     mkdir /data/per_boot 0700 system system encryption=Require key=per_boot_ref
 
+#  Modify add built-in wifi
+on property:persist.sys.wifi_config=1
+    mkdir /data/misc/apexdata/com.android.wifi 0771 root system
+    copy /system_ext/etc/WifiConfigStore.xml /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml
+    chown system system /data/misc/apexdata/com.android.wifi/WifiConfigStore.xml

4、在SystemServer启动wifi 服务前触发配置文件拷贝(仅首次开机触发,不影响用户操作后的配置)。

+++ b/frameworks/base/services/java/com/android/server/SystemServer.java
@@ -1854,6 +1854,16 @@ public final class SystemServer implements Dumpable {
                     PackageManager.FEATURE_WIFI)) {
                 // Wifi Service must be started first for wifi-related services.
                 t.traceBegin("StartWifi");
+                //Modify add built-in wifi 2024/05/28 [s]
+                String propWifiConfig = "persist.sys.wifi_config";
+                if(mFirstBoot){
+                    Slog.d(TAG, "mFirstBoot trigger copy wifi config.");
+                    SystemProperties.set(propWifiConfig, "1");//trigger copy wifi config
+                }else if(SystemProperties.getBoolean(propWifiConfig, false)){
+                    Slog.d(TAG, "none mFirstBoot restore.");
+                    SystemProperties.set(propWifiConfig, "0");
+                }
+                //Modify add built-in wifi 2024/05/28 [e]

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值