如何在没有以太网电缆或adb的情况下为Android Things设置WiFi

9

我想知道如何在没有网络电缆的情况下为Android Things(而不是Android手机)设置第一个WiFi,以进行全新安装。

毫无疑问,在复制操作系统映像后,一定有一种方法将信息放入SD卡中。如果不能直接完成此操作,则最坏的情况是可以编写脚本并将其复制到某些分区中的某个位置,并在启动时自动运行(这对其他事情也很方便)。除非映像已签名?

我也可以编写一个应用程序,可以在首次启动之前将其复制到SD卡中,然后自动安装并为我执行该操作。我知道如何编写应用程序,但到目前为止,我不知道如何进行复制/自动安装/自动运行操作。

我也可以让一台设备连接到网络并配置WiFi,然后将其SD卡克隆到另一台设备中。

真正困扰我的是每次准备新的SD卡都需要获取网络电缆。


另外,您也可以按照此处“如果我既没有显示器也没有以太网电缆怎么办?”部分所述的方式连接到串行调试控制台。 - Onik
目前,您可以从Android Things控制台创建自己的Android Things映像与自己的捆绑包(您的主要apk、任何其他可从您的主要apk访问的apk、bootanimation.zip)。如果您的主要apk包含连接到可用WiFi网络功能,则会更容易。 - adadion
我计划制作一个库,用于建立BLE连接并等待手机上的伴侣应用程序发送wifi凭据。将该库放置在IoT应用程序中或启动它作为服务,并将应用程序捆绑在控制台中的映像中。这将使其有用于设置其他事物,如语言和时区。 - Fabio
2个回答

9

你应该能够在/data/misc/wifi/wpa_supplicant.conf的末尾添加你的wifi配置。

network={
    ssid="SSID"
    key_mgmt=WPA-PSK
    psk="PASSPHRASE"
}

这个应该位于SD卡的data(ext4)分区上(对我来说是/dev/sdb15)。


我可以将/dev/disk3s15(相当于/dev/sdb15)挂载为ext4,但是只能找到benchmarktest lost+found nativetest。我稍后会尝试在那里创建文件夹,现在我必须去做其他事情。虽然我似乎可以在disk3s16(sdb6)上找到根分区,这看起来也非常有希望。谢谢提到ext4,正是我需要的来挂载分区。 - Fabio
访问wifi文件夹时显示权限被拒绝... - Leons
有人能成功地修改配置文件吗?例如从OS X机器上修改此文件?我没有成功将Android Things img挂载以进行编辑。 - JTE
OS X 本身无法完成此操作,您需要使用虚拟机引导 Linux(非常繁琐,我已经尝试过,您需要额外的指令才能从真实 SD 卡写入分区),或者使用具有实验性支持 ext4 写入的付费工具。 - Fabio

1

您可以使用:

adb connect Android.local

要连接到Android Things PC(Raspberry PI3),然后按照Android Things教程中所述设置您的WiFi即可。

$ adb shell am startservice \
    -n com.google.wifisetup/.WifiSetupService \
    -a WifiSetupService.Connect \
    -e ssid <Network_SSID> \
    -e passphrase <Network_Passcode>

https://developer.android.com/things/hardware/raspberrypi.html


请仔细阅读问题! - Onik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接