Android Gradle 依赖
Android Gradle Dependency
我正在为我们的一个项目使用本地 aar 文件,并且有以下查询。
我有 2 个库和 1 个应用程序。
2 个库是:
1. 测试库2
2. 测试库1
1 申请是:
1. 测试
我使用为 TestLib2 创建的 aar 文件,并在 TestLib1 中使用 flatDir 引用它。我可以毫无问题地访问 TestLib2 中的函数。
现在我使用为 TestLib1 创建的 aar 文件,并在测试中使用 flatDir 引用它。我只能访问 TestLib1 中存在的函数。为了访问 TestLib2,我必须将它作为另一个库添加到测试应用程序中。
所以依赖如下:
Test
|_ TestLib1
|_ TestLib2
对于 aar 文件,上述是否可行?
我还在 settings.gradle TestLib1 文件中提到要包含
include ':app', ':testlib2-debug'
其中app指的是TestLib1
build.gradle 文件实际上没有任何风格,我什至没有任何限制将它们用作 jar,因为它只包含 java 段代码。
非常感谢任何帮助。
BR,
杰希尔
更新 1:
我也在下面的 TestLib1 和 Test 的 build.gradle 中尝试过。
仍然没有运气。
dependencies {
compile (name:'testlib2-debug', ext:'aar') {
transitive = true;
}
}
对于测试应用
compile (name:'testlib1-debug', ext:'aar') {
transitive = true;
}
所以我终于找到了解决办法。
它适用于上面提到的 2 级依赖。
为测试库 2 创建一个 jar 文件。
task clearJar(type: Delete) {
delete 'build/outputs/loggingSDK.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'testlib2.jar')
}
makeJar.dependsOn(clearJar, build)
通过使用命令
gradle makeJar
你会得到一个 testlib2.jar
将此复制到您的 TestLib1
使用命令
gradle assemble
这将创建调试和发布版本
获取调试版本并将其复制到测试中,您将能够调用 TestLib1 的函数,后者又调用 TestLib2 的函数
希望这可以帮助寻找此类解决方案的人
我正在为我们的一个项目使用本地 aar 文件,并且有以下查询。 我有 2 个库和 1 个应用程序。
2 个库是: 1. 测试库2 2. 测试库1
1 申请是: 1. 测试
我使用为 TestLib2 创建的 aar 文件,并在 TestLib1 中使用 flatDir 引用它。我可以毫无问题地访问 TestLib2 中的函数。
现在我使用为 TestLib1 创建的 aar 文件,并在测试中使用 flatDir 引用它。我只能访问 TestLib1 中存在的函数。为了访问 TestLib2,我必须将它作为另一个库添加到测试应用程序中。
所以依赖如下:
Test
|_ TestLib1
|_ TestLib2
对于 aar 文件,上述是否可行?
我还在 settings.gradle TestLib1 文件中提到要包含
include ':app', ':testlib2-debug'
其中app指的是TestLib1
build.gradle 文件实际上没有任何风格,我什至没有任何限制将它们用作 jar,因为它只包含 java 段代码。
非常感谢任何帮助。
BR, 杰希尔
更新 1: 我也在下面的 TestLib1 和 Test 的 build.gradle 中尝试过。 仍然没有运气。
dependencies {
compile (name:'testlib2-debug', ext:'aar') {
transitive = true;
}
}
对于测试应用
compile (name:'testlib1-debug', ext:'aar') {
transitive = true;
}
所以我终于找到了解决办法。 它适用于上面提到的 2 级依赖。
为测试库 2 创建一个 jar 文件。
task clearJar(type: Delete) {
delete 'build/outputs/loggingSDK.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'testlib2.jar')
}
makeJar.dependsOn(clearJar, build)
通过使用命令
gradle makeJar
你会得到一个 testlib2.jar
将此复制到您的 TestLib1
使用命令
gradle assemble
这将创建调试和发布版本
获取调试版本并将其复制到测试中,您将能够调用 TestLib1 的函数,后者又调用 TestLib2 的函数
希望这可以帮助寻找此类解决方案的人