You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Selenium项目构建失败求助

问题分析

从你的报错信息和配置来看,核心问题是Java 8特性(默认接口方法、Invoke-customs等)在低版本Android上的兼容性冲突:

  • 你当前的minSdkVersion是14,远低于这些Java 8特性要求的API 24/26
  • 引入的Selenium 3.12.0依赖本身依赖了Java 8特性,但你的Gradle配置没开启对应兼容处理
解决方案

下面是一步步的修复步骤:

1. 开启Java 8编译支持与Desugar兼容

在Module级别的build.gradle中添加Java 8编译配置,同时启用Desugar工具,让低版本Android也能支持Java 8特性:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.example.pierreabichacra.appiumtest"
        minSdkVersion 14
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    // 添加Java 8编译配置
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // 启用Desugar支持低版本Android
        coreLibraryDesugaringEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    // 添加Desugar依赖库
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
    // 你的其他依赖...
}

2. 可选:调整minSdkVersion(如果业务允许)

如果你的应用不需要兼容API 14这么低的版本,可以直接把minSdkVersion提升到24或26,原生支持Java 8特性,无需Desugar:

defaultConfig {
    // ...其他配置
    minSdkVersion 24
    // ...
}

3. 可选:降级Selenium依赖(不推荐)

如果上述方案无效,可以尝试降级Selenium到不依赖Java 8的老版本(比如2.53.1),但这个版本较老,可能会带来其他兼容性问题,优先推荐前两种方案。

验证修复

修改完成后,点击Android Studio顶部的Sync Project with Gradle Files按钮同步配置,然后重新构建项目即可。另外,你的测试代码里有重复的import java.net.MalformedURLException;,可以删掉其中一个保持代码整洁。

内容的提问来源于stack exchange,提问作者pierre abi chacra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:11:53