在gradle中引入libs下的jar文件一般会这样,很是方便:
implementation fileTree(dir: 'libs', include: ['*.jar'])
引入aar一般会这么写,如果aar比较多,就需要得写很多如下类似代码,删除或添加都得改:
implementation files('路径/xxx.aar')
太多重复的代码,比较麻烦,....其实引入是可以这样做:
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
但不知道为什么,当时发现以上居然不能成功引入,没有去深究原因....于是有了以下代码:
dependencies {
def jniLib = android.sourceSets.main.jniLibs.source
for (int i = 0; i < jniLib.size; i++) {
def filePath = jniLib.get(i)
def dir = new File(project.getName() + "/" + filePath)
if (dir.exists()) {
dir.traverse(nameFilter: ~/.*\.?ar/
) { file ->
def name = file.getName()
implementation files(filePath + "/" + name)
}
}
}
过了很久时间,突然....我觉得不行我要重新试试这个,突然发现又可以了....记得只要没冲突aar,jar直接这样引入即可
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
Sync Now 整个世界都清净了.....