Android Studio运行GitHub项目报错:找不到compile()方法求助
解决Android Studio编译错误:找不到compile()方法
问题详情
运行GitHub下载的SmartNote源码时,编译报错:
- 错误位置:
C:\Users\HP\Downloads\SmartNote-master\SmartNote-master\app\build.gradle第23行 - 错误提示:评估项目':app'时出现问题。在类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象上,无法找到适用于参数[directory 'libs']的compile()方法。
已修改根目录build.gradle,将Gradle插件版本升级到7.0.0,仓库替换为google()和mavenCentral(),但问题仍存在。当前app模块build.gradle的依赖配置如下:
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 project(':swipemenulib') compile 'com.android.support.constraint:constraint-layout:1.0.2' compile 'com.github.mcxtzhang:all-base-adapter:V1.5.2' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.nightonke:boommenu:2.1.0' compile 'com.android.support:support-v4:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'de.hdodenhof:circleimageview:2.1.0' compile 'com.andrognito.patternlockview:patternlockview:1.0.0' compile 'com.andrognito.patternlockview:patternlockview-reactive:1.0.0' compile 'org.litepal.android:core:1.4.1' compile 'uk.co.chrisjenx:calligraphy:2.3.0' testCompile 'junit:junit:4.12' }
报错堆栈核心信息:
org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'. ... Caused by: org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException: Could not find method compile() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. ... 148 more
解决方法
Gradle 7.0+版本已废弃compile、androidTestCompile、testCompile这些依赖配置关键字,需要替换为对应的新关键字:
compile→implementationandroidTestCompile→androidTestImplementationtestCompile→testImplementation
修改后的app模块build.gradle依赖部分如下:
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation project(':swipemenulib') implementation 'com.android.support.constraint:constraint-layout:1.0.2' implementation 'com.github.mcxtzhang:all-base-adapter:V1.5.2' implementation 'com.android.support:appcompat-v7:25.3.1' implementation 'com.nightonke:boommenu:2.1.0' implementation 'com.android.support:support-v4:25.3.1' implementation 'com.android.support:design:25.3.1' implementation 'com.android.support:recyclerview-v7:25.3.1' implementation 'de.hdodenhof:circleimageview:2.1.0' implementation 'com.andrognito.patternlockview:patternlockview:1.0.0' implementation 'com.andrognito.patternlockview:patternlockview-reactive:1.0.0' implementation 'org.litepal.android:core:1.4.1' implementation 'uk.co.chrisjenx:calligraphy:2.3.0' testImplementation 'junit:junit:4.12' }
替换完成后,点击Android Studio工具栏的Sync Project with Gradle Files按钮同步项目,然后重新编译即可解决该错误。
内容的提问来源于stack exchange,提问作者Oluwatorera Ayoola
相关产品推荐
相关产品推荐

