build.gradle引入第三方文件

在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  整个世界都清净了..... 

你可能感兴趣的:(Android,gradle,小知识,jar,gradle,android,studio)