错误堆栈:

    Process: com.mci.smagazine, PID: 23265
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mci.smagazine/com.mci.smagazine.apshare.ShareEntryActivity}: java.lang.ClassNotFoundException: com.mci.smagazine.apshare.ShareEntryActivity in loader com.zhangyue.iReader.plugin.d[DexPathList[[zip file "/data/app/com.mci.smagazine-oVAsxbpVt3Q0D6kLqRDP-g==/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib]]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2911)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3101)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:187)
at android.app.ActivityThread.main(ActivityThread.java:7114)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:814)
Caused by: java.lang.ClassNotFoundException: com.mci.smagazine.apshare.ShareEntryActivity in loader com.zhangyue.iReader.plugin.d[DexPathList[[zip file "/data/app/com.mci.smagazine-oVAsxbpVt3Q0D6kLqRDP-g==/base.apk"],nativeLibraryDirectories=[/system/lib, /vendor/lib]]]
at com.zhangyue.iReader.plugin.d.loadClass(SourceFile:90)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.Instrumentation.newActivity(Instrumentation.java:1195)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2894)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3101)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1741)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:187)
at android.app.ActivityThread.main(ActivityThread.java:7114)

我的清单里面的声明:

        <!--支付宝分享回调-->
<activity
android:name="${applicationId}.apshare.ShareEntryActivity"
android:configChanges="orientation|keyboardHidden|navigation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
android:exported="true"
android:screenOrientation="portrait" />

别人反馈了一个崩溃,log 发给我了。说找不到ShareEntryActivity。我搜了以下工程,确实没有这个类。这个应该是支付宝分享回调的类,我去找测试,测试找了下应该是没有分享的入口。

我突然想到,支付宝分享应该是去掉了的。怎么还会启动呢?不可能。

我全局搜索了一下ShareEntryActivity,我擦,清单里面竟然还有这个声明。

立马就想到,如果外部启动你这个ShareEntryActivity ,你肯定类找不到崩溃。

于是自己用adb 模拟一下:

adb shell
am start-activity com.mci.smagazine/com.mci.smagazine.apshare.ShareEntryActivity
或者am start com.mci.smagazine/com.mci.smagazine.apshare.ShareEntryActivity(有的adb 工具不识别start-activity)
下面这行是让掌阅app 崩溃的
am start-activity com.chaozh.iReaderFree/com.chaozh.iReaderFree.apshare.ShareEntryActivity

总结:

1.清单里面不用的activity 声明,一定要去掉。否则别人随便攻击一下,你就找不到类崩溃了。而且你还自以为是的说,我程序中本来就没有这个类。那没有这个类,你干嘛声明呢?

2.有时候,类找不到,不一定清单里面没有声明。有时候搜索要全局搜索一下。

ShareEntryActivity java.lang.ClassNotFoundException | Android类找不到问题的更多相关文章

  1. android报错——java.lang.ClassNotFoundException[android]

    E/AndroidRuntime(1875): Caused by: java.lang.ClassNotFoundException:XXXXX    in loader dalvik.system ...

  2. Caused by: java.lang.ClassNotFoundException[android的终极解决错误]

    from:http://blog.csdn.net/changemyself/article/details/7861525 08-13 18:29:22.924: E/AndroidRuntime( ...

  3. javax.jms.JMSException: Failed to build body from content. Serializable class not available to broker. Reason: java.lang.ClassNotFoundException: Forbidden class com.javaliao.portal.model.TbLogVisit! T

    javax.jms.jmsexception:无法从内容生成正文.可序列化类不可用于代理原因:java.lang.ClassNotFoundException: 禁止类com.javaliao.por ...

  4. springmvc启动时报错:找不到类ContextLoaderListener:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...

  5. 【转】类找不到总结java.lang.ClassNotFoundException

    (1)org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.sqls ...

  6. Android使用Eclipse遇到"java.lang.ClassNotFoundException"

    最近遇到个Android Jar的问题,找了几天才找到root cause. 在此记录下. 我们的Android项目需要使用一个供应商的Jar. 我们使用的开发环境为:Eclipse + ADT插件( ...

  7. java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter /struts2.1.3以前版本和之后版本区别/新版Eclipse找不到Java EE Module Dependencies选项

    严重: Exception starting filter struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher ...

  8. android 自定义View Caused by: java.lang.ClassNotFoundException: Didn't find class

    在android studio中, 自定义View 时,出现 Caused by: java.lang.ClassNotFoundException: Didn't find class 在查看包名和 ...

  9. 无法找到类:java.lang.ClassNotFoundException: com.tt.javaweb.HttpServletRequest问题解决

    问题如下:找不到Httpservlet对应的Class,进入build目录下发现确实没有对应的class文件. 严重: Allocate exception for HttpServletReques ...

随机推荐

  1. 我上线的android版app

    把自己开发的几个小的app上线了,在自己的博客中推广一下吧: 聊天兔子: 下载地址:http://android.myapp.com/myapp/detail.htm?apkName=com.fuly ...

  2. PHP----练习------球队列表

    题目:页面上有一个ul球队列表当鼠标移动到某个li上的时候改行背景颜色变红,当点击某个li的时候,让该li之前的所有li背景色变黄,之后的所有li背景色变蓝.自己不变色. <!DOCTYPE h ...

  3. mybatis关联集合List&分布查询传递多列值

    场景:查询部门的同时,要求查询此部门下的所有用户. 部门(Department) private Integer id; private String departmentName; private ...

  4. java 中重载(Overload)和重写(Override)的区别

    首先重载和重写是应用于两个不同场景下面的两种不同的手段: 两者各自的特征: 重载(Overload):首先是位于一个类之中或者其子类中,具有相同的方法名,但是方法的参数不同,返回值类型可以相同也可以不 ...

  5. 用DecimalFormat格式化十进制数字的实际应用

    在项目中,有时候我们需要将数字转换成特定的格式便于操作和使用.最常用的就是在操作价格数字的时候,需要将数字转换成小数点后保留两位小数,比如讲3.4转换成3.40 我们可以用DecimalFormat, ...

  6. NopCommerce 3.4中商品详情页面单选框、复选框的美化

    先上图给大家看看效果,点这里打开网站(后期可能会找不到这个商品,现在再测试阶段) 现在你能看到的这个页面中,尺寸.文本描述是单选框(属性是我乱写的名字),上门安装是复选框.效果就看到这里,请君跳过图片 ...

  7. C#通过拼接协议的方式来发送邮件类库

    using System; using System.Collections.Generic; using System.Net; using System.Net.Mail; using Syste ...

  8. [译]React如何区别class和function

    原文 How Does React Tell a Class from a Function? 译注: 一分钟概览-- React最后采用了在React.Component上加入isReactComp ...

  9. 使用PLSQL客户端登录ORACLE时报ORA-12502和ORA-12545错误的解决方案

    当使用plsqldev客户端登录oracle数据库时,如果对应的tnsnames.ora中是直接使用IP地址来连接,并且未在系统的hosts文件中绑定主机名时,极易出现ORA-12502及ORA-12 ...

  10. Window系统Oracle 安装

    一:安装Oracle 数据库软件 1.先去官网下载所需文件:http://www.oracle.com/technetwork/database/enterprise-edition/download ...