android - 使用play-services-ads和play-services-analytics的65K LIMIT

标签 android gradle google-play-services dex

在未达到65K方法限制的情况下,我无法在我的应用程序中使用这两个库。广告拥有约24.000种方法,而Analtycs具有约18.000种方法。

我检查了他们的权限列表,他们两个都使用了support-v4:23.0.0(〜8.500方法)。我已经在项目中使用了support-v4:24.2.0,那么如何排除那些库的support-v4:23.0.0并强制它们使用support-v4:24.2.0?

我正在使用此版本:

compile 'com.google.android.gms:play-services-ads:9.4.0'
compile 'com.google.android.gms:play-services-analytics:9.4.0'

最佳答案

I'm already using support-v4:24.2.0 on my project, so how can I exclude support-v4:23.0.0 of those libraries and force them to use support-v4:24.2.0?



Gradle不会将support-v4的两个版本打包到您的应用中。
在您的项目上运行gradle任务:dependencies以查看使用哪个版本。

如果您的项目超过了65k方法的限制,则只有以下选项:
  • 尝试使用更少或其他依赖项
  • 使用multidex
  • 使用proguard剥离未使用的代码
  • 关于android - 使用play-services-ads和play-services-analytics的65K LIMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39147832/

    相关文章:

    Android,SharedPreferences 使用 AES-128 加密记住登录详细信息,但不会解密

    java - 具有两个 Android 应用程序模块的 Gradle 项目

    android - 如何在android中以两位数格式获取日期选择器月份字段

    maven - pom依赖关系在Gradle中失败(在Maven中可以)

    android - 新的 Google Play 控制台 - 首次应用发布问题的托管发布,一次发布多个版本

    android - Intent.FLAG_ACTIVITY_CLEAR_TOP 不关闭 android 中堆栈中的所有 Activity

    java - Groovy 2.5.0 为方法调用转换提供 noclassdefounderror

    gradle - 如何防止Gradle在IntelliJ IDEA中使用代理?

    android - Libgdx 最高分。谷歌播放服务

    android - 在平板电脑模拟器中使用 Google 服务的 FusedLocationProviderClient