java.lang.RuntimeException:无法实例化接收器(未找到类)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.RuntimeException:无法实例化接收器(未找到类)相关的知识,希望对你有一定的参考价值。
我们使用第三方库进行广告调解,在其清单中声明不同的活动,接收者和服务。并非所有这些都将在应用程序中实际实现。
我已经开始看到来自我们应用的用户的例外情况:
java.lang.RuntimeException:无法实例化接收器com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver:java.lang.ClassNotFoundException:未找到类“com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver”在路径上:DexPathList
我的问题是 - 如果不存在,android会尝试实例化接收器(或AndroidManifest中定义的其他组件)吗?
我没有找到任何描述此特定方案的文档。
1)要解决此问题,您需要确保inmobi.jar和picasso.jar(inmobi需要它)位于libs文件夹中。默认情况下,picasso位于可选文件夹中。你必须将它从可选项移到libs。
另外,对于毕加索你需要添加:将'com.squareup.picasso:picasso:2.5.2'编译到build.gradle文件中。
此外,如果您使用proguard文件,则需要为inmobi添加以下内容:
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-dontwarn com.squareup.picasso.**
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.**
-keep class com.moat.** {*;}
-dontwarn com.moat.**
2)如果您没有使用上面指定的构建类型,则需要启用multidex。然后你必须使用nodex build。适用于Android原生的最新nodex版本是here
你可以找到文件here
以上是关于java.lang.RuntimeException:无法实例化接收器(未找到类)的主要内容,如果未能解决你的问题,请参考以下文章