Onesignal和play-services-ads错误:无法在单个dex文件中容纳请求的类

问题描述

我已将OneSignal添加到App中,并且工作正常,但是当我添加时:

com.google.android.gms:play-services-ads:17.1.1

构建失败:Cannot fit requested classes in a single dex file (# methods: 70355 > 65536)

我搜索了一下,然后发现了这个https://stackoverflow.com/a/51088321,这表明了原因。 当我删除play-services-ads时,此问题消失了。 我没有得到应排除的组或模块来解决此问题,我尝试了此操作但未解决问题:

    implementation ('com.google.android.gms:play-services-ads:17.1.1'){
    transitive = true
    exclude group: "play-services-ads-identifier"
    exclude group: "play-services-basement"
    exclude group: "play-services-measurement-sdk-api"
    exclude module: "play-services-measurement-base"
}

gradlew :app:dependencies相关输出:

|    +--- com.google.android.gms:play-services-ads-base:[17.1.1] -> 17.1.1
|    +--- com.google.android.gms:play-services-ads-identifier:16.0.0 (*)
|    +--- com.google.android.gms:play-services-ads-lite:[17.1.1] -> 17.1.1
|    |    +--- com.google.android.gms:play-services-ads-base:[17.1.1] -> 17.1.1
|    |    +--- com.google.android.gms:play-services-basement:16.0.1 -> 16.1.0 (*)
|    |    \--- com.google.android.gms:play-services-measurement-sdk-api:16.0.3
|    |         +--- com.google.android.gms:play-services-basement:16.0.1 -> 16.1.0 (*)
|    |         \--- com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4 (*)
|    +--- com.google.android.gms:play-services-basement:16.0.1 -> 16.1.0 (*)
|    +--- com.google.android.gms:play-services-gass:[17.1.1] -> 17.1.1
|    |    +--- com.google.android.gms:play-services-ads-base:[17.1.1] -> 17.1.1
|    |    \--- com.google.android.gms:play-services-basement:16.0.1 -> 16.1.0 (*)

我使用17.1.1是因为minAPI是15。

我不想使用multidex支持,因为这不是解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...