为什么gradle api配置不泄露依赖库?

Why does gradle api configuration not leak the dependency library?

提问人:Hong 提问时间:10/5/2023 更新时间:10/5/2023 访问量:25

问:

我分叉了 UVCCamera 库的副本。它使用 libcommon,如下所示:

api("com.serenegiant:common:4.1.1") {
    exclude module: 'support-v4'
}

请注意,使用代替。UVCCamera 生成两个 aar 文件:libuvccamera-release.aar 和 usbCameraCommon-release.aar,供应用程序 Foo 使用。libcommon 具有接口 IAspectRatioView。我可以使用 Android Studio 为我的 UVCCamera 分支跟踪它:apiimplementation

enter image description here

您可以看到该接口来自 。但是,应用 Foo 无法引用 IAspectRatioView:com.serenegiant:common:4.1.1enter image description here

我以为 IAspectRatioView 应该被 gradle api 配置泄露了。

但是,我可以跟踪应用程序项目中 UVCCamera 库的 AspectRatioTextureView 的声明,我可以看到 IAspectRatioView:

enter image description here

谁能对此有所了解?

android-gradle-plugin gradle -依赖项

评论


答: 暂无答案