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

用过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_第1张图片
两种在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 //当前数据库版本 
}

配置参数说明(可以略过…):

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

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

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

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

  5. 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
如图:
Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api_第2张图片

这个时候重新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'
    }
}

个人配置如图:
Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api_第3张图片

说的有点多了O(∩_∩)O哈哈~
两种方式成功的实质是:降低了 GreenDao版本 ;
第一种配置:降低版本 ,可以正常运行;
第二种配置:和配置一同理;只是把所有的配置放在了项目app中了。

到这里 大家应该就能成功添加 GreenDao库到项目中;可以开启GreenDao 之旅了….

你可能感兴趣的:(AndroidBug仗剑天下)