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

React Native中无法解析Os类问题求助

解决“无法解析org.apache.tools.ant.taskdefs.condition.Os类”错误及关联问题

这个错误是因为Gradle 7.x及后续版本默认不再包含Apache Ant的相关类,直接导入会导致依赖缺失,进而引发构建失败——这也是你模拟器无法正常运行的核心原因,毕竟项目构建不起来就没法部署到模拟器上。

下面提供两种可行的解决办法:

方法一:添加Ant依赖到构建脚本

在buildscript的dependencies块中加入Ant的依赖,让Gradle能找到这个类:

修改后的build.gradle关键部分:

buildscript {
    // ... 其他配置不变 ...
    dependencies {
        classpath("com.android.tools.build:gradle:7.0.4")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath("de.undercouch:gradle-download-task:4.1.2")
        // 添加Ant依赖
        classpath("org.apache.ant:ant:1.10.12")
    }
}

添加完成后,同步Gradle项目即可。

方法二:替换为Gradle原生的操作系统判断(推荐)

Gradle本身提供了原生的Os工具类,不需要依赖Ant,更轻量且兼容更好。直接替换导入和判断逻辑:

修改后的build.gradle开头部分:

import org.gradle.internal.os.Os

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "31.0.0"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 31

        // 替换为Gradle Os类的判断方法
        if (Os.isArch("aarch64")) {
            ndkVersion = "24.0.8215888"
        } else {
            ndkVersion = "21.4.7075529"
        }
    }
    // ... 其他配置不变 ...
}

这种方式不需要额外依赖,更符合Gradle的最佳实践。

解决完这个类解析错误后,重新执行项目构建,再尝试启动模拟器即可正常运行。

内容的提问来源于stack exchange,提问作者marceline

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:45:36