android - Gradle:排除依赖包

标签 android gradle dependencies

是否可以从 Android Gradle 依赖项中排除一个,这样它就不会最终出现在 APK 中?

作为:

dependencies {

    compile('com.facebook.android:facebook-android-sdk:4.17.0') {
        exclude package 'com.facebook.share'
    }
}

但又不同了,因为“package”不是一个有效的命令。

最佳答案

您不能排除 Artifact 的某些特定部分,因为 Gradle 对其中的内容一无所知。对于 Gradle,它是整体的:您要么包含 Artifact 及其内部的任何内容,要么不包含。

使用 ProGuard 可能会达到您想要的效果。这是构建应用程序发布版本时的常见步骤,您可以指定收缩规则,这将删除不必要的代码。 Android 文档有一个 code shrinking article更多详情。

唯一可能出现的问题是,如果依赖项包含 ProGuard 配置文件本身,则可能无法强制收缩指定保留在那里的内容。但是,我刚刚查看了您询问的 AAR,但似乎并非如此。

关于android - Gradle:排除依赖包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40883974/

相关文章:

android - 使用缩放和拖动绘制路径

gradle - Gradle 中的 Zip 依赖项

c++ - 为什么我不能运行具有特定文件名的 exe?

android - 哪个依赖性导致 “Failed resolution Failed resolution of: Lcom/google/android/gms/common/internal/zzab;”

java - 如何在 list 文件中指定依赖项,然后将其包含到我的 .jar 文件中?

android - 我如何知道 Proguard 警告我哪些类?

android - 操作栏菜单项onclick?

android - 是否可以将预构建的 APK 作为用户应用程序添加到 AOSP 构建中?

android - 我可以为 CI 和 Android Studio 设置单独的 gradle.properties 吗?

android - 缺少DBFlow软件包-Gradle