Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file

用过GreenDao 的都晓得;他的强大不是咱们个人写个简单通过继承SQLiteOpenHelper实现数据库操作能比的;因为这根本不是一个量级上的啊,O(∩_∩)O哈哈~ 
话不多说:开搞… 
AndoridStudio配置GreenDao报错:

Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputFilePropertyBuilder;'.

Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputFilePropertyBuilder;'.


如图: 

这里写图片描述

两种在andorid studio配置GreenDao:

第一种配置:

(个人未成功,给出解决方案。) 
说明:降低版本后可以成功,具体看下面; 
GreenDao库版本:3.2.2 ,配置步骤如下: 
配置Gradle:

A:配置工程目录下build.gradle:

(注意:是工程下的build不是app下的build) 
添加GreenDao插件支持,要添加的内容后面都已经加上了简单注释:

buildscript {
    repositories {
        jcenter()
        mavenCentral() // 添加远程仓库地址
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 添加插件 更好支持GreenDao
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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


之后 右上角Sync Now ,AS会自动下载插件–>下载OK.

B:配置项目(app)下的build.gradle

添加应用插件依赖;

apply plugin: ‘org.greenrobot.greendao’ // 添加应用依赖插件
添加库文件

compile ‘org.greenrobot:greendao:3.2.2’ // 添加库
C:初始化GreenDao配置

按照官方的说法,我们无需任何其他配置,但是,数据库版本这个你得考虑下吧,当然,如果也不想考虑,那就使用默认的(默认版本为1)。

// 配置GreenDao基本参数 
greendao { 
        schemaVersion 1 //当前数据库版本 
}
配置参数说明(可以略过…):

schemaVersion:当前版本的数据库模式。这被OpenHelpers类用于在模式版本之间迁移。如果更改了实体/数据库模式,则必须增加该值。默认为1。

daoPackage:生成的Dao,DaoMaster和DaoSession的包名称。 默认为源实体的包名称。

targetGenDir:生成源应存储在的位置。 默认为构建目录( build / generated / source / greendao)中生成的源文件夹。

generateTests: 设置为true以自动生成单元测试。

targetGenDirTests: 应存储生成的单元测试的基本目录。默认为 src / androidTest / java。

配置完成后大致的项目(app中的bulid)内容如下:

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // 添加应用依赖插件

android {
    // 省略部分内容...
}

// 配置GreenDao基本参数
greendao {
    schemaVersion 1 //当前数据库版本
}

dependencies {
    // 省略部分内容...
    compile 'org.greenrobot:greendao:3.2.2' // 添加库
}

OK;这种配置到这里就结束了;But 这种配置个人好像 报错了: 
报错的代码就是刚开始时提过的:

Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputFilePropertyBuilder;'.


给出一种个人参考后没有解决的方案:有哪位朋友有解决的;欢迎留言:拜谢。 
网上的解决方式: 
A:需要在官网:https://services.gradle.org/distributions/中下载了gradle-3.5-all版本;个人下载后解压放到C盘下的…gradle/wapper/dists下如下图: 
并在Android studio中file->settings->build,execution,deployment->Gradie 
如图: 


这个时候重新bulid项目;结果就两种: 
a:解决 : 很好、很 幸运。 
b:没有解决并且出现新的报错如:

org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be ca...
这个报错解决一般:把后面的版本号改为之前你的做APP正常能跑的版本号就行。 
But 改成之前运行的又出现那个错误了;好纠结…..

重点来了——个人的解决方式——

配置一的解决方案

在“第一种配置”的基础上降低GreenDao版本即可正常运行

A:修改配置工程目录下build.gradle:

把:

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 添加插件 更好支持GreenDao
改成:

classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' // 添加插件 更好支持GreenDao
B:修改配置项目(app)下的build.gradle

把:

compile ‘org.greenrobot:greendao:3.2.2’ // 添加库
降低版本为:

  compile 'org.greenrobot:greendao:3.0.1' 
之后 右上角Sync Now ,AS会自动下载插件–>下载OK. 
—————–测试 完美运行—————————

第二种配置(正常运行):

首先 把“第一种配置”的内容全部去掉;恢复到 添加GreenDao前的状态: 
然后直接在:项目(app)的build中直接添加:

A:添加插件:

apply plugin: 'org.greenrobot.greendao' // 添加应用依赖插件
B:依赖+配置:

// 配置GreenDao基本参数
greendao {
    schemaVersion 1 //当前数据库版本
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.2.1'
   //略......
    //TJ:GreenDao 数据库加载库
    compile 'org.greenrobot:greendao:3.0.1'

}
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
       classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
    }
}
添加后的全部代码如:


apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // 添加应用依赖插件

android {
 //略......
}

// 配置GreenDao基本参数
greendao {
    schemaVersion 1 //当前数据库版本
}

dependencies {
 //略......
    //TJ:GreenDao 数据库加载库
    compile 'org.greenrobot:greendao:3.0.1'
//    compile 'org.greenrobot:greendao:3.2.2'
    testCompile 'junit:junit:4.12'
}
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
       classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
    }
}
个人配置如图: 
说的有点多了O(∩_∩)O哈哈~ 
两种方式成功的实质是:降低了 GreenDao版本 ; 
第一种配置:降低版本 ,可以正常运行; 
第二种配置:和配置一同理;只是把所有的配置放在了项目app中了。

到这里 大家应该就能成功添加 GreenDao库到项目中;可以开启GreenDao 之旅了….
--------------------- 
版权声明:本文为CSDN博主「学习总不晚」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013472738/article/details/72895747

你可能感兴趣的:(数据库)