草庐IT

android - 尝试运行仪器测试时出现 "Unknown API level"错误

coder 2023-11-26 原文

我试图在通过以太网连接的设备(非手持设备)上运行测试,但我看到的只是失败。我使用 Gradle 任务 connectedAndroidTest 运行仪器测试,并且在通过 USB 直接连接到我的 PC 的手持设备上运行良好。但是,相同的测试甚至无法在远程设备上启动。显示的错误是“未找到测试”。以前,如果我在没有连接任何设备的情况下启动仪器测试,我会看到同样的错误,但 Android Studio 以及 adb devices 的输出显示工具链可以看到远程设备。然后我尝试在命令行上运行相同的 Gradle 任务,并提供更多信息。所以我输入了:
gradlew connectedAndroidTest --stacktrace --debug

在一堆调试输出中,我找到了更好的错误描述:

[INFO] [org.gradle.api.Project] 为“AppNameHere:”跳过设备“DEVICE_IP:5555”:未知 API 级别
[警告] [org.gradle.api.Project]
_FoundCompatibleDevices[TestRunner] 失败

我在谷歌中搜索了这个错误,然后偶然发现了打印它的源代码。所以我下载了 android 的平台工具源代码,以便能够更轻松地浏览它,在我看来,API 级别是通过读取属性 IDevice.PROP_BUILD_API_LEVEL 来检测的,它似乎等于 < strong="">“ro.build.version.sdk”。经过更多谷歌搜索后,我发现它应该在 /system/build.prop 中定义。设备上这个文件的内容向我显示它具有正确的 API 级别 19。实际上,Android Studio 中显示了相同的 API 级别,android 选项卡显示了当前连接的设备(及其 logcat 输出、打开的进程等) .然而,在某些情况下,这个值似乎并不正确。

知道哪里会出错吗?我应该在哪里寻找真正的问题?在 Android 的工具链中,Android on the device,在我调查期间有什么地方做错了吗?

我目前正在使用:
- Windows 7
- Android Studio 1.1 预览版 1
- Android SDK 工具 24.0.2
- Android SDK 平台工具 21
- Android SDK 构建工具 19.1

最佳答案

所以我在让我的 robotium 集成测试在远程 jenkins 服务器上运行时遇到了同样的问题。我最终通过将 local.properties 文件添加到远程 android 项目根目录并添加到 sdk 路径来修复它。对我来说,它看起来像这样。

   sdk.dir=/usr/local/sdk

然后我收到设备未连接错误,所以我不得不运行

/pathToAndroidSdk/platform-tools/adb start-server

并验证我插入的设备。我在这个过程中失去了大部分头发,但现在集成测试运行正常。

如果您有任何其他问题,请告诉我。

关于android - 尝试运行仪器测试时出现 "Unknown API level"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195080/

有关android - 尝试运行仪器测试时出现 "Unknown API level"错误的更多相关文章

  1. ruby - 如何从 ruby​​ 中的字符串运行任意对象方法? - 2

    总的来说,我对ruby​​还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用

  2. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  3. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  4. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  5. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  6. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  7. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  8. ruby - 如何每月在 Heroku 运行一次 Scheduler 插件? - 2

    在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/

  9. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  10. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

随机推荐