360加固宝加固应用后,出现java.lang.ClassNotFoundException异常

原创 2016年05月31日 14:47:06

     最近360市场强制加固后才能上传,加固后安装在手机上,点击图标异常

java.lang.RuntimeException: Unable to get provider com.xx.xxx.xxxx: java.lang.ClassNotFoundException: Didn't find class "com.xx.xxx.xxxx" on path: DexPathList[[zip file "/data/app/com.xx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xx.xxx-1/lib/arm, /vendor/lib, /system/lib]]


     网上百度了,比较广泛的解决方案是:

1。Manifest文件中注册的Activity的名称,有没有写错,包名有没有搞错,有些网友,可能只写一个类名,前面用点号代替,但是这个类不在默认的包内,所以报这个错,那么只要写上类的全名,即可。

2。有些android,需要一些第三方的包,直接将其引入,在以前是可以的,但是在最新的adt中不行,必须在程序中新建一个libs文件夹,将第三方的jar文件copy到libs文件夹中,才行,很多人因为这样才报错,特别是以前的项目,默认并没有这个libs文件夹,但是新版本的adt,默认就建了libs这个文件夹。

3。有一点也很重要,在Java Build Path面板下的Order and Export中,一定要把你引入的jar文件,勾上,否则,跟没引用一样,切记。

     这可能针对的是原包出现java.lang.ClassNotFoundException的解决方案,我尝试之后都无效

继续百度,有如下解决方案:

   manifest文件中,各组件的name用包名+组件名的形式,而不要用组件名前加点的省略形式。

     然而试过之后还是不行,最后抱着试一下的心态,对project进行了clean,然后编译,签名,加固,重签名,发现居然可以了,简直是奇迹。

     总结:

       如果原包没问题,加固之后出现class not found的情况,建议进行以下尝试:

       1.对project进行clean,然后重新编译,签名,加固,重签名,如果还是不行,尝试2;

       2.将manifest文件中,各组件的name用包名+组件名的形式,然后clean,重新编译,签名,加固,重签名。

    然而,360加固后,应用的运行明显感觉没加固前流畅了,也并不清楚加固过程中究竟会干些什么,所以虽然加固是降低反编译的风险,然而加固也是一种风险。



版权声明:本文为博主原创文章,未经博主允许不得转载。

java.lang.ClassNotFoundException: Didn't find class "*****Activity" on path: /data/app/*******.apk

很多人出现了java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{*****Activity}: java....
  • lovexieyuan520
  • lovexieyuan520
  • 2013年06月05日 17:53
  • 70499

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

08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: java.lang.ClassNotFoundException:XXXXX    in ...
  • changemyself
  • changemyself
  • 2012年08月13日 18:56
  • 103143

Caused by: java.lang.ClassNotFoundException: Didn't find class "XXX" on path: DexPathList[[zip file

在工作中遇到Caused by: java.lang.ClassNotFoundException: Didn’t find class “XXX” on path: DexPathList[[zip...
  • feibendexiaoma
  • feibendexiaoma
  • 2015年08月05日 15:16
  • 7100

Caused by: java.lang.NoClassDefFoundError和 Caused by: java.lang.ClassNotFoundException: Didn't find

================================== 参考 http://blog.csdn.net/wanli_smile/article/details/7452847 ...
  • commshare
  • commshare
  • 2014年04月21日 13:47
  • 3880

java.lang.ClassNotFoundException: Didn't find class "stu.love.neihan.MainActivity" on path: DexPathL

java.lang.ClassNotFoundException: Didn't find class "stu.love.neihan.MainActivity" on path: DexPathL...
  • love_Javc_you
  • love_Javc_you
  • 2014年10月06日 23:06
  • 15261

报错Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.PagerTabStrip"

报错信息: 03-14 20:24:09.675 15801-15801/tech.androidstudio.pagetabstripdemo E/AndroidRuntime: FATA...
  • Rodulf
  • Rodulf
  • 2016年03月14日 20:31
  • 3494

1.7号 java.lang.ClassNotFoundException: Didn't find class "tv.pptv.MainActivity

Caused by: java.lang.ClassNotFoundException: Didn't find class "tv.pps.ipdx.MainActivity" on path: /...
  • zkcome
  • zkcome
  • 2014年01月07日 20:39
  • 1125

java.lang.ClassNotFoundException: Didn't find class "com.kge.love.base.BaseApplication" on path: Dex

昨天预期是要发新版本的,但是新功能做的不能用,只能修改下以前的bug,发了一个版本,运营那块叫我6点传包给他,测试那边一直说没问题,我5点半再打一个腾讯云的包给测试测试测试美女说一点击图标启动app,...
  • coderinchina
  • coderinchina
  • 2015年04月28日 09:29
  • 2358

用JSON报的一个错误java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept

以前在做项目的时候就曾接触过JSON的技术,但那个时候是项目经理把所有该配制的都配了,工具类也提供了,如何使用也跟我们说了,那个时候只是觉得很好用,倒没有研究过。       今天自己写了一个JSO...
  • eilent
  • eilent
  • 2011年11月02日 11:05
  • 17390

运行mapreduce程序时出现异常java.lang.RuntimeException: java.lang.ClassNotFoundException的原因

运行mapreduce程序时出现异常java.lang.RuntimeException: java.lang.ClassNotFoundException的原因    hadoop分布式配置完毕后,...
  • zklth
  • zklth
  • 2010年08月16日 19:34
  • 21720
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:360加固宝加固应用后,出现java.lang.ClassNotFoundException异常
举报原因:
原因补充:

(最多只允许输入30个字)