[Android Studio]Using flatDir should be avoided because it doesn't support any meta-data formats

幻想 2022年09月23日 22 0

问题

这次用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

解决步骤

  1. 移除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')
}
Last Updated: 2022/09/24 02:11:56
[Android Studio]Task list not built during sync linux基础命令_yum