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

在Android Studio Jellyfish中集成Chaquopy时build.gradle.kts报错

解决方案

1. 解决Gradle同步的com.android.build.api.variant.Variant加载错误

该错误核心是Chaquopy插件与Android Gradle Plugin(AGP)版本不兼容或Gradle版本不匹配。Android Studio Jellyfish默认使用AGP 8.2.x,需确保配置匹配:

  • 确认根目录gradle/wrapper/gradle-wrapper.properties中的Gradle版本为8.3或更高,示例:
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
    
  • Chaquopy 15.0.1已支持AGP 8.0-8.2,版本本身兼容,无需更换插件版本。

2. 修复模块级build.gradle.kts中的未定义引用错误

原配置使用了Groovy语法,KTS需调整为兼容写法:

修改后的关键配置代码

plugins {
    alias(libs.plugins.android.application)
    id("com.chaquo.python")
}

android {
    namespace = "com.example.pythontestwithjava"
    compileSdk = 34

    flavorDimensions += "pyVersion"
    productFlavors {
        create("py310") { dimension = "pyVersion" }
        create("py311") { dimension = "pyVersion" }
    }

    defaultConfig {
        applicationId = "com.example.pythontestwithjava"
        minSdk = 24
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

        ndk {
            abiFilters += listOf("arm64-v8a", "x86_64")
        }

        // 替换原python块,使用KTS的扩展配置方式
        configure<com.chaquo.python.PythonExtension> {
            version = "3.11"
            pip {
                install("scipy")
                install("requests==2.24.0")
            }
        }
    }

    // ... 其余buildTypes、compileOptions等配置保持不变 ...
}

// 替换原chaquopy块,调整KTS语法
configure<com.chaquo.python.PythonExtension> {
    productFlavors {
        getByName("py310") { version = "3.10" }
        getByName("py311") { version = "3.11" }
    }
}

dependencies {
    implementation(libs.appcompat)
    implementation(libs.material)
    implementation(libs.constraintlayout)
    implementation(libs.navigation.fragment)
    implementation(libs.navigation.ui)
    testImplementation(libs.junit)
    androidTestImplementation(libs.ext.junit)
    androidTestImplementation(libs.espresso.core)
}

核心修改点

  • 在defaultConfig中,用configure<PythonExtension>包裹Chaquopy配置,替代原Groovy风格的python {}块。
  • pip块中的install改为KTS函数调用格式:install("依赖名"),而非Groovy的install "依赖名"。
  • 顶层chaquopy块替换为configure<PythonExtension>来配置productFlavors。

3. 最终修复步骤

  • 执行File > Invalidate Caches... > Invalidate and Restart清理IDE缓存。
  • 终端运行./gradlew --stop(Windows用gradlew.bat --stop)停止Gradle守护进程。
  • 点击Sync Project with Gradle Files重新同步项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:43:12