我正在构建android库项目,它依赖于另一个内部库项目。
我想知道是否有一种方法可以打包单个AAR库,其中已经包含了内部库。我只想向我的应用程序开发人员共享一个AAR库包。
这就是我的build.gradle文件当前的样子,但目前它们会生成单独的AAR文件,这两个文件都需要包含在应用程序的build.gradle中。由于应用程序正在由另一家公司构建,我们需要与他们共享最终的AAR文件,而不是完整的库项目。
- internalLib
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}- externalLib
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
compile project(':internalLib')
}发布于 2013-12-21 03:41:03
没有合并库的机制。这有点复杂,因为您可能希望控制哪些依赖项被合并(例如,您可能不希望在其中包括support-v4 )。此外,您还需要合并资源和Android清单。
此时,除非您确信资源在两个res文件夹之间没有冲突(例如,可以在一个lib中使用strings_a.xml,而在另一个库中可以使用strings_b.xml ),否则就无法轻松地破解某些内容。这样,您就可以将两个res文件夹“合并”,将它们复制到相同的位置(而不是在android级别进行合并)。
对于报表来说,它会更复杂,但是可以使用一些自定义代码。
为此提供一个内置的机制在我们的优先级上是非常低的,所以不要期待它在短期内。
发布于 2020-08-12 09:00:14
为了便于您将每个库分别上传到maven上,并在父库模块中使用它的实现,直到主库模块。只有在maven上发布主库时,才会包含所有的子依赖项。
发布于 2021-02-16 18:53:27
到目前为止,我们只有一个选项,在模块中添加aar作为api依赖项。为此,我们必须生成aar文件并将其发布到Maven,并将其由另一个模块访问并在app中使用。
https://developer.android.com/studio/projects/android-library
如前所述,android开发人员文档。
包含源代码的库模块被复制到您的项目中,因此您可以实际编辑库代码。如果您想维护库代码的单个版本,那么这可能不是您想要的,您应该像上面所描述的那样添加编译后的AAR文件。
如果我们还能做些什么,请在命令部分草草记下,让我们知道。
https://stackoverflow.com/questions/20700581
复制相似问题