问题
这次用Android Studio升级了Gradle插件,升级后编译,出现如下错误:
AGPBI: {"kind":"warning","text":"Using flatDir should be avoided because it doesn't support any meta-data formats.","sources":[{}]}
解释
flatDir用于jni产生的so文件,在Gradle插件4.2.2开始,已经弃用这种写法,因为这样不支持meta-data
解决步骤
- 移除flatDir块
之前
repositories {
...
flatDir {
dirs 'libs'
}
}
之后
repositories {
...
}
2.1. 以so方式集成
之前
android {
...
}
之后
android {
...
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
如上在模块中添加。
2.2. 以aar方式集成
之前
dependencies {
// 全局jar依赖
implementation fileTree(include: ['*.jar'], dir: 'libs')
// 单包aar依赖
implementation (name: 'aar_xxx', ext:'aar')
}
之后
dependencies {
// 全局依赖
implementation fileTree(include: ['*.?ar'], dir: 'libs')
// 单包依赖(此包已被依赖,这步多此一举,主要是给各位提醒不同方式)
implementation files('libs/aar_xxx.aar')
}
0