Android Studio:测试:使用java 8或更高版本编译的库依赖项

Android Studio:测试:使用java 8或更高版本编译的库依赖项,第1张

概述请帮忙.我正在设置我的 android studio测试时非常可怕. 我已经下载了计算器示例,从黄瓜github练习cumcumber代码测试. https://github.com/cucumber/cucumber-jvm/tree/master/android(其中一些品牌btw非常扼流自命名) 我试着在Android工作室使用它.该程序运行完美(耶!).然而,测试没有.我有一个非常可怕的消 请帮忙.我正在设置我的 android studio测试时非常可怕.

我已经下载了计算器示例,从黄瓜github练习cumcumber代码测试. https://github.com/cucumber/cucumber-jvm/tree/master/android(其中一些品牌btw非常扼流自命名)

我试着在AndroID工作室使用它.该程序运行完美(耶!).然而,测试没有.我有一个非常可怕的消息,每次我运行时都会困扰我.

*To run dex in process,the Gradle daemon needs a larger heap.It currently has approximately 910 MB.For faster builds,increase the maximum heap size for the Gradle daemon to more than 2048 MB.To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.propertIEs.For more information see https://docs.gradle.org/current/userguIDe/build_environment.HTMLError:Error converting bytecode to dex:Cause: Dex cannot parse version 52 byte code.This is caused by library dependencIEs that have been compiled using Java 8 or above.If you are using the 'java' gradle plugin in a library submodule add targetCompatibility = '1.7'sourceCompatibility = '1.7'to that submodule's build.gradle file.Error:1 error; aborting:app:transformClassesWithDexForDeBUGAndroIDTest FailedError:Execution Failed for task ':app:transformClassesWithDexForDeBUGAndroIDTest'.> com.androID.build.API.transform.transformException: java.lang.RuntimeException: com.androID.IDe.common.process.ProcessException: java.util.concurrent.ExecutionException: com.androID.IDe.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program files\Java\jdk1.8.0_74\bin\java.exe'' finished with non-zero exit value 1*

它的目标兼容性和源兼容性我遇到了麻烦(尚未完成剩下的工作)

这是gradle构建:正如您所看到的,我已将兼容性更改为1.7

apply plugin: 'com.androID.application'androID {    compileSdkVersion 23    buildToolsversion "23.0.3"    defaultConfig {        applicationID "boo.thefoodhunt"        minSdkVersion 16        targetSdkVersion 23        versionCode 1        version@R_502_6889@ "1.0"        testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner"    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro'        }    }    sourceSets {        deBUG {            assets.srcDirs = ['src/deBUG/assets','src/androIDTest/assets/']            res.srcDirs = ['src/deBUG/res','src/androIDTest/assets/features']        }        main { res.srcDirs = ['src/main/res','src/androIDTest/assets'] }    }    dexOptions {        incremental true    }    compileOptions {        sourceCompatibility JavaVersion.VERSION_1_7        targetCompatibility JavaVersion.VERSION_1_7    }}dependencIEs {    compile filetree(include: ['*.jar'],dir: 'libs')    testCompile 'junit:junit:4.12'    compile 'com.androID.support:appcompat-v7:23.3.0'    //TESTING    androIDTestCompile 'com.androID.support.test:testing-support-lib:0.1'    androIDTestCompile 'com.androID.support:support-annotations:23.3.0'    //Espresso    androIDTestCompile 'com.androID.support.test.espresso:espresso-core:2.2.2'    androIDTestCompile 'com.androID.support.test:runner:0.5'    androIDTestCompile 'com.androID.support.test:rules:0.5'    //Cucumber    androIDTestCompile 'info.cukes:cucumber-androID:1.2.4'    androIDTestCompile 'info.cukes:cucumber-picocontainer:1.2.4'}

无法运行的测试:

package boo.thefoodhunt;import androID.test.ActivityInstrumentationTestCase2;import cucumber.API.CucumberOptions;import cucumber.API.java.en.Given;import cucumber.API.java.en.Then;import cucumber.API.java.en.When;import static androID.support.test.espresso.Espresso.onVIEw;import static androID.support.test.espresso.action.VIEwActions.click;import static androID.support.test.espresso.assertion.VIEwAssertions.matches;import static androID.support.test.espresso.matcher.VIEwMatchers.withID;import static androID.support.test.espresso.matcher.VIEwMatchers.withText;@CucumberOptions(features = "features")public class CalculatorActivitySteps extends ActivityInstrumentationTestCase2<CalculatorActivity> {    public CalculatorActivitySteps(SomeDependency dependency) {        super(CalculatorActivity.class);        assertNotNull(dependency);    }    @Given("^I have a CalculatorActivity$")    public voID I_have_a_CalculatorActivity() {        assertNotNull(getActivity());    }    @When("^I press (\d)$")    public voID I_press_d(final int d) {        switch (d) {            case 0:                onVIEw(withID(R.ID.btn_d_0)).perform(click());                break;            case 1:                onVIEw(withID(R.ID.btn_d_1)).perform(click());                break;            case 2:                onVIEw(withID(R.ID.btn_d_2)).perform(click());                break;            case 3:                onVIEw(withID(R.ID.btn_d_3)).perform(click());                break;            case 4:                onVIEw(withID(R.ID.btn_d_4)).perform(click());                break;            case 5:                onVIEw(withID(R.ID.btn_d_5)).perform(click());                break;            case 6:                onVIEw(withID(R.ID.btn_d_6)).perform(click());                break;            case 7:                onVIEw(withID(R.ID.btn_d_7)).perform(click());                break;            case 8:                onVIEw(withID(R.ID.btn_d_8)).perform(click());                break;            case 9:                onVIEw(withID(R.ID.btn_d_9)).perform(click());                break;        }    }    @When("^I press ([+–x\/=])$")    public voID I_press_op(final char op) {        switch (op) {            case '+':                onVIEw(withID(R.ID.btn_op_add)).perform(click());                break;            case '–':                onVIEw(withID(R.ID.btn_op_subtract)).perform(click());                break;            case 'x':                onVIEw(withID(R.ID.btn_op_multiply)).perform(click());                break;            case '/':                onVIEw(withID(R.ID.btn_op_divIDe)).perform(click());                break;            case '=':                onVIEw(withID(R.ID.btn_op_equals)).perform(click());                break;        }    }    @Then("^I should see (\S+) on the display$")    public voID I_should_see_s_on_the_display(final String s) {        onVIEw(withID(R.ID.txt_calc_display)).check(matches(withText(s)));    }}

现在我试过这个:

Error when using a jar in my project

还有这个:
Is it possible to use Java 8 for Android development?

还有这个:
Gradle sourceCompatibility has no effect to subprojects

在项目gradle和app gradle中.但我正在考虑它是唯一的测试…这些将无济于事,它与依赖关系有关,因此我很困难.谁能帮忙!提前致谢

解决方法 您有一个依赖项,不清楚哪个是为Java 8编译的,并且您已在构建中指定了Java 7.

错误消息这是由使用Java 8或更高版本编译的库依赖项引起的.他们是关键吗?

我的方法是将Java版本更改为8.如果不能解决问题,请减少问题.也就是说,从没有依赖项和代码的新项目开始,添加非常小的部分,直到找到导致上述错误的内容.

也就是说,应用galls Law:

“一个复杂的系统总是被发现从一个简单的系统发展而来.一个从头开始设计的复杂系统永远不会工作,无法修补以使其工作.你必须重新开始使用一个简单的系统. – John加尔(1975,p.71)“

@L_502_5@

总结

以上是内存溢出为你收集整理的Android Studio:测试:使用java 8或更高版本编译的库依赖项全部内容,希望文章能够帮你解决Android Studio:测试:使用java 8或更高版本编译的库依赖项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125789.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存