在Android Studio中收到错误“找不到方法实现()”

时间:2018-07-03 14:47:55

标签: java android android-studio gradle

我收到此错误消息。

  

找不到参数[project':app']的方法Implementation()   在类型的对象上   org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler。

这是我项目级别的gradle文件:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {

    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:3.2.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven { url "https://maven.google.com" }
        google()
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

dependencies {
    implementation project(':app')
}

这是我的应用程序的gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'java-library'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.therationalbloke.myapplication"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation project(':app')
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

注意:我已经知道以下内容。

  • 在Gradle 3.0中,“编译”已由“实现”替换,或者 更高。

  • 是的,我使用的是Android Studio的最新版本,据Rob称,我应该选择旧版本。但事实是我被困扰了 该版本中的许多技术问题(其中包括 东西,现在已经过时了。

  • 我已经在Github的Stack Overflow上阅读了几乎所有解决此问题的方法。他们都要求改用Implementation() 编译(我已经在使用)了,或者他们正在要求检查是否 Gradle版本为3.0 +。

  • 我已尝试根据一名用户对Stackoverflow的建议将所有“实现”更改为“编译”。

  • 我尝试导入许多社区中很多人建议的图书馆。

有关我的Android Studio的一些信息

  • Android Studio-3.1.3

  • Android插件版本-3.1.3

  • 版本版本-4.4

Screenshot of the situation

1 个答案:

答案 0 :(得分:0)

我从未在gradle文件中看到类似implementation project(':app')之类的东西。

这里有一个可用的gradle文件示例,请尝试删除implementation project(':app')并重新同步。

apply plugin: 'com.android.application'
android {
  compileSdkVersion 27
  defaultConfig {
    applicationId "com.example.amvt_notebook4.codigoqrtest"
    minSdkVersion 19
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
  buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies
{
  implementation fileTree(include: ['*.jar'], dir: 'libs')
  implementation 'com.android.support:appcompat-v7:27.1.1'
  implementation 'com.android.support:design:27.1.1'
  implementation 'com.android.support.constraint:constraint-layout:1.1.0'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'com.android.support.test:runner:1.0.2'
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  implementation 'com.google.android.gms:play-services:10.0.1'
  implementation 'com.android.support:recyclerview-v7:27.1.1'
  implementation 'com.android.support:cardview-v7:27.1.1'
  implementation files('build/libs/mail.jar')
  implementation files('build/libs/additionnal.jar')
  implementation files('build/libs/activation.jar')
  implementation files('build/libs/jtds-1.3.1.jar')
  implementation 'com.android.support:multidex:1.0.3'
}