【发布时间】:2014-03-10 15:11:41
【问题描述】:
安装 Android Studio 0.5.1 时,我收到以下消息:
该项目正在使用不受支持的 Android Gradle 插件版本 (0.7.3)。 0.9.0 版在构建语言中引入了不兼容的更改。请阅读迁移指南以了解如何更新您的项目。
我一直在尝试迁移我的项目,该应用运行良好,但我无法让我的 Robotium 测试用例运行。
这是我尝试过的:
- 将 build.gradle 从 0.7 更改为 0.9:classpath 'com.android.tools.build:gradle:0.9.+'
- 将 gradle-wrapper.properties 从 distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip 更新为 distributionUrl=http\://services.gradle.org/distributions/gradle -1.11-all.zip
- 按照http://tools.android.com/tech-docs/new-build-system/migrating_to_09 的指南告诉我将 testfolder 重命名为 androidTest 并将测试依赖项从 instrumentTestCompile 更新为 androidTestCompile,我现在正在使用 androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.0.1 '
我的 build.gradle 文件是这样的
apply plugin: 'android'
sourceSets {
main {
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/res']
}
}
android {
compileSdkVersion 19
buildToolsVersion '19.0.2'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 116
versionName "1.5.5"
}
defaultConfig {
testPackageName "com.foo.androidTest"
}
}
dependencies {
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
compile 'org.apache.commons:commons-lang3:3.0'
compile 'com.jayway.android.robotium:robotium-solo:5.0.1'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.0.1'
}
我不知道我错过了什么,我在跑步时得到的只是:
java.lang.NoClassDefFoundError: com.foo.androidTest.TestSimple$1
at com.foo.androidTest.TestSimple.setUp(TestSimple.java:47)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1740)
如果您想知道 setUp 方法,它看起来像这样。
45: public void setUp() throws Exception {
46: solo = new Solo(getInstrumentation(), getActivity());
47: falseCondition = new Condition() {
48: @Override
49: public boolean isSatisfied() {
50: return false;
51: }
52: };
53: }
我没有更改任何 java 代码,我所做的只是安装 Android Studio 0.5.1,然后尝试迁移到 Gradle 0.9。
【问题讨论】:
-
在我的项目中,androidTest在文件夹src下。
-
还要确保您从 SDK 管理器下载了最新的构建工具。
-
确保您的测试课程位于
src\androidTest\java。如果 sourceSets 没有被覆盖,这是 android 默认查找它们的地方。
标签: android gradle android-studio robotium android-gradle-plugin