gpt4 book ai didi

android - 打包 android 库并在生成的 aar 中包含其他库

转载 作者:行者123 更新时间:2023-11-29 14:14:55 26 4
gpt4 key购买 nike

我想构建一个包含其他库的 android 库。我有 2 个这样的工作区:

/workspace1
/libA
/myLib

/workspace2
/myApp

android 库 myLib 依赖于 libA。

android 应用程序 myApp 依赖于 myLib(并使用 libA 中的类)。

我想为我的本地 maven 存储库生成 myLib 的 AAR(没关系)。但是生成的 AAR 不包含来自 libA 的类和资源。

请查看 workspace1 下的 build.gradle :

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
classpath 'com.github.dcendents:android-maven-plugin:1.0'
}
}

def groupVal = "com.mycompany.android"
def versionVal = "0.1-SNAPSHOT"

def compileSdkVersionVal = 19
def buildToolsVersionVal = "19.0.3"
def minSdkVersionVal = 10
def targetSdkVersionVal = 19

allprojects {
group = groupVal
version = versionVal

repositories {
mavenCentral()
mavenLocal()
}

}

project(':libA') {
apply plugin: 'android-library'

android {
compileSdkVersion compileSdkVersionVal
buildToolsVersion buildToolsVersionVal

defaultConfig {
minSdkVersion minSdkVersionVal
targetSdkVersion targetSdkVersionVal
versionCode 1
versionName versionVal
}

lintOptions {
abortOnError false
}

packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
}

}

}


project(':myLib') {
apply plugin: 'android-library'
apply plugin: 'android-maven'

android {
compileSdkVersion compileSdkVersionVal
buildToolsVersion buildToolsVersionVal

defaultConfig {
minSdkVersion minSdkVersionVal
targetSdkVersion targetSdkVersionVal
versionCode 1
versionName versionVal
}

lintOptions {
abortOnError false
}

packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
}

}
dependencies {
compile project(':libA') {
export = true
}
}
}

你有什么建议吗?

非常感谢,

狮子座

最佳答案

在您的 myLib 项目中,您应该依赖 libA.jar 而不是 libA.aar。然后,假设您正在通过 myApp/pom.xml 构建 apk,您应该依赖于该 pom 文件中的 libA.aar。

  • 如果 libA.jar 不存在,您必须使用“maven install ...”命令手动创建并将其安装到您的 maven 存储库(例如 .m2)中才能依赖它。

关于android - 打包 android 库并在生成的 aar 中包含其他库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128819/

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