25

试图让作为 ADT21 (http://developer.android.com/tools/testing/testing_ui.html) 一部分的 android UI 测试当前工作,我似乎遇到了一些问题。

创建测试后,我们必须将其设置为 uitest-project,网页告诉我们命令是:

<android-sdk>/tools/android uitest-project -n <name> -t 1 -p <path>

但这似乎是不正确的,它应该是:

<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p <path>

但是在运行这个我得到错误:

Error: UI test projects can only target API 16 and above

我假设与 -t 参数有关,然后我尝试了从 1 到 18 的所有值(一个甚至还不存在的 android 版本),它给了我同样的错误。有人想通了吗?我认为这将是一些简单的事情。

4

2 回答 2

57

答案很简单。示例向您展示 1,-t 实际想要的是一个目标,但 id 取决于运行命令的结果:

android list targets

此命令将为您提供可以使用 ID 的目标列表,具体取决于您在系统上安装的内容。

例如在我的系统上我得到:


id: 37 or "android-16"
 Name: Android 4.1.2
 Type: Platform
 API level: 16
 Revision: 3
 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 ABIs : armeabi-v7a, mips, x86

所以我使用命令

android create uitest-project -n <name> -t 37 -p <path>
于 2012-11-15T12:55:26.807 回答
1

另一种方法是不使用可能会更改的数字,而是使用常量字符串。

示例::android 列表目标

Available Android targets:

id: 1 or "android-11"
.....
id: 5 or "android-17"
     Name: Android 4.2.2
     Type: Platform
     API level: 17
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
     ABIs : armeabi-v7a
...


$ android create uitest-project -n project -t "android-17" -p project 
Added file project/build.xml
于 2013-07-05T15:01:11.557 回答