问题:Could not find method compile() for arguments [directory ‘libs’] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 原因:自Gradle3.4版本不再使用compile指令 取而代之的是implementation 和 api 两个配置项
被废弃:compile fileTree(dir: 'libs', include: ['*.jar'])
implementation fileTree(dir: 'libs', include: ['*.jar'])
api fileTree(dir: 'libs', include: ['*.jar'])
使用implementation和api的区别:
implementation
编译时,不允许外部模块调用此依赖包,除非内部声明(不允许传递依赖项) 运行时,此依赖项只允许在运行时使用反射机制调用
api
与implementation相反,在编译和运行时,允许外部模块 调用 内部模块的 api 声明以间接地调用依赖项
参考文章: 1 2
|