我尝试在一台连接到以太网的设备上运行测试,但是我看到的只有失败。我使用Gradle任务connectedAndroidTest来运行仪器测试,并且在直接连接到我的PC的手持设备上工作正常。然而,同样的测试甚至无法在远程设备上启动。显示的错误是“未找到测试”。之前如果我启动仪器测试而没有连接任何设备,我曾经看到过相同的错误,但是Android Studio以及adb devices的输出都显示了工具链所看到的远程设备。然后我尝试在命令行上运行相同的Gradle任务,带有更多信息。所以我输入:
gradlew connectedAndroidTest --stacktrace --debug
在大量的调试输出中,我发现了一个更好的错误描述:
[INFO] [org.gradle.api.Project] Skipping device 'DEVICE_IP:5555' for 'AppNameHere:': Unknown API Level [WARN] [org.gradle.api.Project] _FoundCompatibleDevices[TestRunner] FAILED
我在谷歌上搜索了这个错误,然后我偶然发现了打印它的源代码。所以我下载了安卓平台工具的源代码,以便更容易地浏览它,对我来说API级别是通过读取属性IDevice.PROP_BUILD_API_LEVEL来检测的,这似乎等于"ro.build.version.sdk"。经过更多的谷歌搜索,我发现它应该在/system/build.prop中定义。设备上的这个文件的内容向我显示它具有正确的API级别19。实际上,在Android Studio中显示了相同的API级别,即显示当前连接设备(及其logcat输出、打开进程等)的android选项卡。然而,在某些情况下,似乎该值不正确。
任何想法出现问题的地方?我应该在哪里寻找真正的问题?在安卓工具链中,设备上的安卓系统中,在我的调查中做错了什么?
我目前正在使用: - Windows 7 - Android Studio 1.1 Preview 1 - Android SDK Tools 24.0.2 - Android SDK Platform-tools 21 - Android SDK Build-tools 19.1
gradlew connectedAndroidTest --stacktrace --debug
在大量的调试输出中,我发现了一个更好的错误描述:
[INFO] [org.gradle.api.Project] Skipping device 'DEVICE_IP:5555' for 'AppNameHere:': Unknown API Level [WARN] [org.gradle.api.Project] _FoundCompatibleDevices[TestRunner] FAILED
我在谷歌上搜索了这个错误,然后我偶然发现了打印它的源代码。所以我下载了安卓平台工具的源代码,以便更容易地浏览它,对我来说API级别是通过读取属性IDevice.PROP_BUILD_API_LEVEL来检测的,这似乎等于"ro.build.version.sdk"。经过更多的谷歌搜索,我发现它应该在/system/build.prop中定义。设备上的这个文件的内容向我显示它具有正确的API级别19。实际上,在Android Studio中显示了相同的API级别,即显示当前连接设备(及其logcat输出、打开进程等)的android选项卡。然而,在某些情况下,似乎该值不正确。
任何想法出现问题的地方?我应该在哪里寻找真正的问题?在安卓工具链中,设备上的安卓系统中,在我的调查中做错了什么?
我目前正在使用: - Windows 7 - Android Studio 1.1 Preview 1 - Android SDK Tools 24.0.2 - Android SDK Platform-tools 21 - Android SDK Build-tools 19.1