gpt4 book ai didi

Android Studio 将所有 aar 文件包含在一个目录中

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:32 25 4
gpt4 key购买 nike

我正在为一个框架编写构建系统,用户(开发人员)可以通过插件对其进行扩展。我的问题是我无法包含所有带有掩码的 aar 文件。例如,我可以像这样包含所有 jar 文件:

compile fileTree(dir: 'libs', include: '*.jar')

但是如果我像这样包含所有 aar 文件:

compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

我得到一个错误:

Only Jar-type local dependencies are supported. Cannot handle: /path/to/file.aar

但是可以像这样单独包含每个文件:

compile (name:'myfile', ext:'aar')

作为解决方法,在构建期间,我需要列出“libs”目录中的文件,将所有库手动插入到我的 build.gradle 中并保持同步(或每次重写)。这是一种骇人听闻的做法,因此我想知道是否有更好的做法。也许有一个可以自动执行的 gradle 脚本或者一些支持这个的 gradle beta:

compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])

最佳答案

首先添加flatDir 仓库:

repositories {
flatDir {
dirs 'libs'
}
}

然后在dependencies部分添加:

fileTree(dir: 'libs', include: '**/*.aar')
.each { File file ->
dependencies.add("compile", [
name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name },
ext: 'aar'
])
}

关于Android Studio 将所有 aar 文件包含在一个目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31081506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com