java - 将 Selendroid 添加到 Android Studio 出现错误

标签 java android selendroid

我正在尝试将 Selendroid 添加到我的 Android 应用程序中,以便我可以抓取动态 Web 内容。因此,我从 here 添加了 Selendroid Standalone Jar ,然后是 here 中的客户端 Jar 。现在,当我运行我的项目时,Gradle 构建似乎比平常花费了更长的时间,并且我收到了大量消息(其中一部分如下所示):

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.ssa.SsaMethod.indexListFromLabelList(SsaMethod.java:157)
at com.android.dx.ssa.SsaBasicBlock.newFromRop(SsaBasicBlock.java:164)
at com.android.dx.ssa.SsaMethod.convertRopToSsaBlocks(SsaMethod.java:173)
at com.android.dx.ssa.SsaMethod.newFromRopMethod(SsaMethod.java:103)
at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:44)
at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:98)
at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:297)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
at com.android.dx.command.dexer.Main.processClass(Main.java:729)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException:   
org.gradle.process.internal.ExecException: 
Process 'command  '/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java''   
finished with non-zero exit value 3

我已经尝试了该网站上发布的大量解决方案,其中列出了类似的错误,但似乎没有任何效果。

如有任何建议,我们将不胜感激。

最佳答案

增加 gradle.build 文件中的堆大小

android {
    dexOptions {
        incremental true
        javaMaxHeapSize "2048M"
    }
}

构建需要更长的时间,但应该可以工作。您还可以打开 gradle daemon 来提高构建速度。

关于java - 将 Selendroid 添加到 Android Studio 出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32157932/

相关文章:

java - Android 中如何从另一个应用程序调用或调用一个应用程序?

android - 如何更改工具栏的背景

android - Android 的股票浏览器是否支持 CSS3 转换?

java - DecimalFormat 删除点后的零

java - SelendroidDriver 不在 jar 文件中

android - 关于selendroid和appium的几个问题

java - Glassfish v3/JNDI 入口找不到问题!

java - 如何在 JHipster 中使用 CAS SSO

java - 如何找到树中右 child 的高度减去左 child 的高度

android - Selendroid 等待 native 应用程序中的元素