AOSP 编译 - 默认开启无线调试并连接默认WiFi

使用Android 5.1 AOSP系统源码,达成目标:

  1. 开机连接指定WiFi(比如Wifi名digitech,密码11111117),这样只要周围有热点为括号中的名称与密码的网络,设备将自动连接这个wifi。
  2. 默认启用无线调试,启用无线调试后,调试人员可以在第1步完成后直接
    1
    adb connect xxx.xxx.xxx.xxx:5555
    连接到设备进行调试

开机连接指定WiFi

我们的手机,Pad,手表等安卓设备在我们手动连接了某个WiFi后,第二次再接近这个WiFi后会自动连接,其WiFi信息保存在
/data/misc/wifi/wpa_supplicant.conf,这个是用户的数据,设备重启后此信息是不会重置的。

而系统默认的WiFi信息保存在: /system/etc/wifi/wpa_supplicant.conf,好像这里的信息在每次设备重启后都会还原

了解上述内容后,就可以着手修改aosp源码。在我们第一次成功编译安卓镜像后,直接修改如下文件:

1
vim ./out/target/product/rk3288_box/system/etc/wifi/wpa_supplicant.conf

加入以下WiFi配置内容:

1
2
3
4
5
6
7
network={
ssid="digitech"
psk="11111117"
key_mgmt=WPA-PSK
priority=613
}

这一步完成了默认WiFi的配置,还有一个是安卓系统在设置界面中默认的WiFi按钮是关闭的,默认开启需要修改以下文件

1
vim frameworks/base/packages/SettingsProvider/res/values/defaults.xml

1
<bool name="def_wifi_on">false</bool>

改为

1
2
<bool name="def_wifi_on">true</bool>

完成后编译&烧录,然后查看/data/misc/wifi/wpa_supplicant.conf是否已经有了刚才预置的内容。

默认启用无线调试

如果不通过修改aosp源码的方式,我们启用WiFi Debug的步骤一般是这样的:

1
2
3
4
su 
mount -o rw,remount /
echo service.adb.tcp.port=5555 >> /system/build.prop

随后重启系统,连接到WiFi就可以进行无线调试了。

可以看到关键点在于/system/build.prop这个文件,如何将service.adb.tcp.port=5555在编译阶段就预置进去。

如下:

1
vim build/tools/buildinfo.sh

1
echo "# end build properties"

之前增加

1
echo "service.adb.tcp.port=5555"

即可。

最后再记录一下编译安卓固件流程

1
2
3
4
. build/envsetup.sh
lunch
./make_script.sh