安装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。+'
- 将来自distributionUrl = http \://services.gradle.org/distributions/gradle-1.9-all.zip的gradle-wrapper.properties更新为distributionUrl = http \://services.gradle.org/distributions/gradle -1.11-all.zip
- 按照http://tools.android.com/tech-docs/new-build-system/migrating_to_09的指南告诉我将testTder重命名为androidTest并将测试依赖项从instrumentTestCompile更新为androidTestCompile,我现在正在使用androidTestCompile'com.jayway.android.robotium:robotium-solo:5.0 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。
答案 0 :(得分:4)
0.9 gradle工具版本中有一些东西
src \ instrumentTest \ java - 适用于0.8。+ gradle工具版 src \ androidTest \ java - 不适用于0.9。+ gradle工具版