Error:Unable to find method 'org.gradle.api.tasks.TaskInputs.file(LjavalangObject;)Lorggradleapi

xiaoxiao2021-02-28  146

用过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;'.

如图: 两种在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 之旅了….

转载请注明原文地址: https://www.6miu.com/read-28986.html

最新回复(0)