android - Android App(5)将无法加载Android Library Project(2)中声明的外部依赖(1)
问题描述
问题陈述:Android App(5)将无法加载Android Library Project中声明的外部依赖(1)(2)
请逐步参考图表,以得出问题陈述。
- 我有一个 highcharts-release.aar
- 我有一个 android 库项目
- 我将添加 highcharts-release.aar(1) 到 (2) 作为外部依赖
并将此代码添加到 Project > build.gradle
flatDir {
dirs 'libs'
}
并且,模块 > build.gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
compile(name:'highcharts-release', ext:'aar')
.....
}
发布到工件,
publishing {
publications {
aar(MavenPublication) {
groupId packageName
version = libraryVersion
artifactId project.getName()
// Tell maven to prepare the generated "*.aar" file for publishing
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
pom.withXml {
def dependencies = asNode().appendNode('dependencies')
configurations.getByName("releaseCompileClasspath").getResolvedConfiguration().getFirstLevelModuleDependencies().each {
def dependency = dependencies.appendNode('dependency')
dependency.appendNode('groupId', it.moduleGroup)
dependency.appendNode('artifactId', it.moduleName)
dependency.appendNode('version', it.moduleVersion)
}
}
}
}
}
artifactory {
contextUrl = 'https://url/artifactory'
publish {
repository {
repoKey = 'csapx-ui-gradle-stable-local'
username = 'uname'
password = 'pword'
}
defaults {
// Tell the Artifactory plugin which artifacts should be published to Artifactory
publications('aar')
publishArtifacts = true
// Properties to be attached to the published artifacts
properties = ['qa.level': 'basic', 'dev.team': 'core']
// Publish generated POM files to Artifactory (true by default)
publishPom = true
}
}
}
- 我可以看到在 jFrog 中创建了 .aar。我转换为 .zip 格式以查看内容,并看到 libs 文件夹中存在外部依赖项“highcharts-release.aar”。
5.在Android App项目中包含/使用这个工件,通过添加一个实现@module gradle。
implementation(group: 'com.karthik.mylibrary',
name: 'app', version: "$rootProject.ext.highchartsVersion", ext: 'aar') {
exclude group: 'com.google.code.gson', module: 'gson'
transitive = true
changing = true
}
和,
项目等级:
buildscript {
repositories {
google()
jcenter()
maven {
credentials {
username 'uname'
password 'pword'
}
url "https://url/artifactory/csapx-ui-gradle-stable-local"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1'
classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
ext {
// highcharts
highchartsVersion = '1.0.0'
}
allprojects {
repositories {
google()
jcenter()
maven {
credentials {
username 'uname'
password 'pword'
}
url "https://url/artifactory/csapx-ui-gradle-stable-local"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
最后,构建android应用程序,查看错误,
所以总的来说,问题陈述将是,highcharts-release.aar > 添加到另一个 .aar > 导入应用程序失败。
无法找到我在这里缺少的内容和/或如何解决此问题。
请帮我找到解决方案。
解决方案
推荐阅读
- python - Django Custom User Admin field_sets 未显示在管理门户中
- python - 遍历列表和弹出数字
- google-sheets - Bigquery 的 Google 表格数据连接器消失了
- android - 我是否应该在不显示通知的情况下使用工作经理进行即时工作
- python - 如何在 Python 中将模块作为脚本执行
- typo3 - TYPO3 9.5 中的 enablecolumns 和 QueryBuilder
- python - 从 docx 文件创建直方图
- ios - 如何使用 OpenVPNAdapter 连接用户
- javascript - TypeError : onSubmit 不是函数
- jenkins - 詹金斯工作 - 在管道部分下找不到选项