当前位置:   article > 正文

AS中 Gradle8.0 配置greendao插件_cannot use @taskaction annotation on method detect

cannot use @taskaction annotation on method detectentitycandidatestask.execu
在gradle8.0配置greendao插件

greendao在项目的build.gradle中配置和以前一样,在项目中build.gradle自动生成结构和以前不一样,在build.gradle中仍然可以使用老的 buildscript,来配置需要的插件:

buildscript {
    dependencies {
        classpath 'org.greenrobot:greendao-gradle-plugin:3.3.1'
    }
    repositories {
        mavenCentral()
    }
}
plugins {
    id 'com.android.application' version '8.0.1' apply false
    id 'com.android.library' version '8.0.1' apply false
}

编译后会报

A problem occurred configuring project ':app'.
> Could not create task ':app:greendaoPrepare'.
   > Cannot use @TaskAction annotation on method DetectEntityCandidatesTask.execute() because interface org.gradle.api.tasks.incremental.IncrementalTaskInputs is not a valid parameter to an action method.

发现问题发生在org.greenrobot:greendao-gradle-plugin:3.3.0的问题上,这是由于 Gradle 8 删除了已弃用的IncrementalTask​​Inputs API造成的。
升级到3.3.1版本就可以了,其他不变:

classpath org.greenrobot:greendao-gradle-plugin:3.3.1

app build.gradle也贴一下

plugins {
    id 'com.android.application'
    id 'org.greenrobot.greendao'
}

android {
    namespace 'com.library.myappdao'
    compileSdk 33

    defaultConfig {
        applicationId "com.library.myappdao"
        minSdk 24
        targetSdk 33
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    greendao{
        schemaVersion 1
        daoPackage 'com.library.myappdao.greendao'
    }
}
dependencies {
    implementation 'org.greenrobot:greendao:3.3.0'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
}

写一个bean文件

package com.example.basetest;

@Entity
public class UserBean {
    @Id(autoincrement = true)
    private Long id;
    private String username;
    private String password;

}
build下工程会自动生成 DaoMaster、DaoSession、 UserBeanDao

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/492271
推荐阅读
相关标签
  

闽ICP备14008679号