2017-08-29 220 views
1

我的android版本是2.3.3。我更新android sdk(26)。更新後出現錯誤。我在build.gradle時遇到了問題。我的代碼有什麼問題?如何使用DSL實現()?我怎樣才能配置這個項目運行?構建gradle原因:Gradle DSL方法未找到:'implementation()'

的build.gradle(項目)

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.3'  
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
}  
allprojects { 
    repositories { 
     jcenter() 
    } 
}  
task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

的build.gradle(模塊)

apply plugin: 'com.android.application'  
android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.1" 
    defaultConfig { 
     applicationId "com.ppl.restaurant" 
     minSdkVersion 16 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
allprojects { 
    repositories { 
     jcenter() 
     maven { 
      url "https://maven.google.com" 
     } 
    } 
} 
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:26.0.1' 
    compile "com.android.support:support-core-utils:26.0.1" 
    implementation 'info.androidhive:barcode-reader:1.1.2' 
    implementation 'com.google.android.gms:play-services-vision:11.0.2' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    testCompile 'junit:junit:4.12' 
} 

錯誤消息

Error:(38, 0) Gradle DSL method not found: 'implementation()' 
Possible causes:<ul><li>The project 'Restaurant' may be using a version of the Android Gradle plug-in that does not contain the method (e.g. 'testCompile' was added in 1.1.0). 
<a href="fixGradleElements">Upgrade plugin to version 2.3.3 and sync project</a></li><li>The project 'ABC' may be using a version of Gradle that does not contain the method. 
<a href="open.wrapper.file">Open Gradle wrapper file</a></li><li>The build file may be missing a Gradle plugin. 
<a href="apply.gradle.plugin">Apply Gradle plugin</a></li> 
+0

集'類路徑 'com.android.tools.build:gradle這個:2.3.3' –

+0

是,已經設立.. –

+0

展示您的應用水平'build.gradle' –

回答

0

正如你可以在官方文檔讀取時,implementation() DLS要求(當前)

  • Gradle v.4
  • Android Studio 3.x.
  • 搖籃插件爲Android 3.X

嘗試gradle-wrapper.properties使用使用方法:

distributionUrl=\ 
    https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip 

爲Android使用的gradle作爲插件:關於migration to plugin v3 here

classpath 'com.android.tools.build:gradle:3.0.0-beta1' 

更多信息。

+0

我不想用beta,我想用穩定的2.3.3。任何方式? –

+0

@AprilMoe在這種情況下,您可以使用compile()作爲項目中的其他依賴項。沒有辦法在2.3.3中使用implementation()。 –

+0

我下載Android Studio 3 beta 2,設置'classpath'com.android.tools.build:gradle:3.0.0-beta2''' distributionUrl = \ https://services.gradle.org/distributions/gradle -4.1-RC-1-all.zip'。 –

0

我已經解決了這樣的:

編譯 'com.facebook.android:facebook-login:4.28.0'

必須使用Android 3.0的工作室用 「執行」,但與Android 2.3工作室與「編譯」工作

PD:對不起,我的英語。

1

如果你想使用 「編譯」 和Android 2.3的工作室,使用此:

編譯 'com.facebook.android:facebook-login:4.28.0'

這爲我工作。

相關問題