Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
等待Android emulator中的网络可用(可能使用adb)_Android_Android Emulator_Adb - Fatal编程技术网

等待Android emulator中的网络可用(可能使用adb)

等待Android emulator中的网络可用(可能使用adb),android,android-emulator,adb,Android,Android Emulator,Adb,我正在用标准的谷歌Android模拟器做一些测试。我已经解决了大部分问题,比如A)等待设备(adb等待设备)B)启动完成(adb shell getprop sys.boot_completed),C)解锁设备(adb shell input keyevent 82),甚至D)启动应用程序(adb shell monkey-p软件包名称-c android.intent.category.LAUNCHER 1) 我现在缺少的一件事是等待网络。基本上,在我获得sys.boot\u完成后需要很多秒,

我正在用标准的谷歌Android模拟器做一些测试。我已经解决了大部分问题,比如A)等待设备(
adb等待设备
)B)启动完成(
adb shell getprop sys.boot_completed
),C)解锁设备(
adb shell input keyevent 82
),甚至D)启动应用程序(
adb shell monkey-p软件包名称-c android.intent.category.LAUNCHER 1

我现在缺少的一件事是等待网络。基本上,在我获得
sys.boot\u完成后需要很多秒,然后
3G
才会显示在顶部。即使我可以很早地执行
shell ping 10.0.2.2
操作,在显示
3G
之前,应用程序的网络连接是不可用的。如果tters,我正在使用代理(通过
-http proxy
emulator命令行参数)


因此,我想做的是在启动我的应用程序之前,找到一种方法来确保emulator具有网络连接。有没有方法使用
adb
或任何其他方法来完成?我无法修改原始应用程序。

要了解当前网络状态,请检查
gsm.network.type
系统属性的值。有关详细信息,请键入您可以分析
dumpsys connectivity

的输出。您的adb外壳是否有ping?或者您可以启动浏览器或小型自定义应用程序(通过代理)访问您的开发人员机器上的服务器并等待该流量被听到。如果您可以使用一个单独的应用程序来测试互联网连接。一个简单的应用程序,在没有连接时检查连接,当有互联网时等待广播接收器。当它找到互联网时(连接测试应用程序)lauches appYourApp。是的,ping到10.0.2.2很早就可以在没有显示3G时工作。启动自定义应用可能会很完美,除非我不知道如何构建一个。在请求最终成功之前,我需要一些东西来请求HTTP资源。启动浏览器听起来也是个好主意,但不是永远y轻量级。我认为
wget
会很方便,但它不可用。我假设你的意思是
getprop gsm.network.type
,它在
3G
出现之前很早就返回
UMTS
。所以不幸的是,这不起作用。