seb*_*ian 4 android gradle android-studio
首先,我知道如何在文件中添加一个本地库,build.gradle这里已经讨论了几个问题(基本上都是一样的),请看这里,这里和这里.但是你必须对文件中的compile files('/path/to/lib.jar')语句中的路径进行硬编码build.gradle,这不是很好,不可再分发等,如果你使用的库不在项目的文件夹结构中.我更喜欢在同一个地方为我的所有项目维护这个库(因此它始终是所有项目的最新版本等).因此,我想知道如何使用gradle将一个库(通过Maven无法提供)添加到使用gradle的Android-Studio项目中,因为该库是作为AS首选项中的全局库添加的.
到目前为止我做了什么:
我使用Google的新Android-Studio,它使用gradle进行构建管理,以构建Xposed框架模块.为此,我必须包含一个外部库,XposedLibrary我从各自的Github存储库下载它以使其保持最新.
它包含jar XposedLibrary/XposedBridgeApi.jar,我在AS中添加为全局库(Ctrl + Shift + Alt + S - > Global Libraries - > green plus以添加文件夹XposedLibrary).编译失败,抱怨它不知道导入的类.所以我不得不手动将库添加到build.gradle文件中,在依赖项中添加相应的行,如下所示:
dependencies {
compile files('libs/android-support-v4.jar')
compile files('/home/sebastian/dev/android/XposedMods/XposedLibrary/XposedBridgeApi.jar')
}
Run Code Online (Sandbox Code Playgroud)
我试着添加compile files('XposedBridgeApi.jar')或compile files('XposedLibrary/XposedBridgeApi.jar')但是这不起作用.
那么,在不使用完整路径的情况下,将AS全局库添加到依赖项的好方法是什么?(我不喜欢从lib/文件夹中对jar文件进行符号链接的想法;))
通过引用文件时
files("relative/path/to/a.jar")
Run Code Online (Sandbox Code Playgroud)
相对路径是相对于此片段所在的buildscript进行评估的.所以当你的build.gradle文件位于let /'/ project/build.gradle'时,那个jar应该在'/ a/project/relative /中路径/到/ a.jar文件".在多项目gradle构建中,您可以将jar放在相对于根项目的文件夹中,并通过所有子项目引用它
rootProject.files("relative/to/root/a.jar")
Run Code Online (Sandbox Code Playgroud)
希望有所帮助,欢呼,
勒内
| 归档时间: |
|
| 查看次数: |
8300 次 |
| 最近记录: |