Search code examples
androidchaquopy

Failed to apply plugin [id 'com.chaquo.python'] while gradle build


I am trying to use python in my android app by using chaquopy. I found tutorial for integrating chaquopy in android here . I update my gradle file for app and project level A problem occurred evaluating project ':app'.

Failed to apply plugin [id 'com.chaquo.python'] No such property: dslScope for class: com.android.build.gradle.internal.api.DefaultAndroidSourceDirectorySet.

Here is my code for build.gradle app level

apply plugin: 'com.android.application'
apply plugin: 'com.chaquo.python'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

defaultConfig {
    sourceSets {
        python {
            srcDirs = ["src/main/python"]
        }
    }

    python {
        buildPython "usr/bin/python3"
        buildPython "python3"
    }

    ndk {
        abiFilters "armeabi-v7a", "x86"
    }

    applicationId "com.softvision.nowyouseeus"
    minSdkVersion 19
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

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

dependencies {

implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.mlkit:face-detection:16.0.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'

}

bild.gradle project level

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
    google()
    jcenter()
    maven {url "https://chaquo.com/maven"}
}
dependencies {
    classpath "com.android.tools.build:gradle:4.1.0"
    classpath 'com.chaquo.python:gradle:6.3.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Solution

  • Chaquopy 6.3.0 isn't compatible with Android Gradle plugin version 4.1.0, and you should have received a warning about that.

    See here for the compatible combinations. You should probably just upgrade to the current Chaquopy version, 9.0.0.