安卓5.0正常运行,5.0以下NoClassDefFoundError

Android 出现:java.lang.NoClassDefFoundError...错误解决办法 主要介绍了Android 出现:Android出现:java.lang.NoClassDefFoundError: android/os/PersistableBundle错误解决办法的相关资料,需要的朋友可以参考下 立即下载

             参考资料:http://www.infoq.com/cn/news/2014/11/android-multidex

        在一个老项目上,增加了一个新模块。用的测试机一直都是5.0的,所以都能正常运行。临近上线的时候,在4.4的手机上竟然打开就闪退了,看了下log,java.lang.NoClassDefFoundError……,Could not find class……,直接定位到

private Handler handler = new Handler() {}这一行。但是不应该啊,这个内部类明明存在的啊,为什么会找不到,
而且在5.0版本上也是能正常运行的。这也只是一个Handler,不可能只是5.0的新特性而5.0以下版本不具有。
     这时候就想到了是不是我添加的新模块引入的库与以前项目中的库有冲突,所以导致NoClassDefFoundError。于是我
就把新加入的模块删了,可以运行,所以使我更加确信是库冲突的原因。于是就开始陷入了这个误区里面。通过不断的删除
新引入的库和更改库的版本,新加入的类也是逐渐加进去,方便看出冲突原因,这持续了一周时间。到最后,当我认为
将要解决这个的问题的时候,还有三个类,一放到项目中就还是报原来的错误。仔细看这三个类,也只是普通的Fragment,
跟别得Fragment并没有什么不同。这下就奇怪了,实在是找不到原因了。上网查资料,说的都差不多,build.gradle文件中
"multiDexEnabled true"也加入了。
        看了下classloader机制,很多字,但是并没有看出解决问题的方法。实在不知道该怎么办了,报错的类是以前的人基于
http自己写的一个网络框架,就想着,实在不行就把以前的网络请求框架换了吧,当然这也不是一个简单的事。而且就算
换了,也不能确定能决绝问题,迷茫中。。。
         后来,看到一些关于dex的问题,于是就搜到一遍文章。我就照着上面的方法,在项目中加了两行代码,奇迹,竟然跑起来了,
于是我把删除的类渐渐加进去,直到最后一个,都能
正常运行,真是欣喜若狂。
         解决方法就是在项目的Application类中加入了以下代码:
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base); MultiDex.install(this);
}
     
这个问题由于项目中类太多,方法太多。 Android平台的Java虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型short来
索引DEX文件中的方法。这意味着单个DEX文件可被引用的方法总数被限制为65536。通常APK包含一个classes.dex文件,因此Android应用
的方法总数不能超过这个数量,这包括Android框架、类库和你自己开发的代码。这个问题可以通过将一个DEX文件分拆成多个DEX文件解决。
而上面的代码就是将一个DEX文件分拆成多个DEX文件,完美解决NoClassDefFoundError。

故障处理:Oracle一体机磁盘故障时磁盘组重平衡失败的故障处理 摘要: Oracle Exadata一体机出现磁盘故障案例,存储节点故障灯未亮但磁盘已产生大量坏块,导致重平衡失败。文章强调了一体机硬件巡检需检查6个关键维度:节点messages日志、存储cell告警日志、CellCLI日志、ASM告警日志、ILOM日志及服务器信号灯。故障分析显示硬盘物理故障导致磁盘组冗余受损,自动修复流程受阻。文中详细记录了通过CellCLI工具排查损坏磁盘的过程,并提供了完整的故障处理流程和命令输出。文章同步发布于微信公众号"IT民工的龙马人生"和博客网站(www 阅读详情

相关推荐

面板数据门槛归回分析,xthreg的安装,xthreg2安装包

我用的是Stata17,数据是不平衡的面板数据,需要用到xthreg2,虽然我找到了xthreg2.ado,但是还需要安装xthreg,因为运行xthreg2需要xthreg包顺带安装的lxthreg.mlib文件。但是!我后来发现还是不行,最后是去买了一个真正能用到xthreg2的lxthreg.mlib文件,才可以运行。

weixin_55252589的博客 1万+

探究安卓应用类找不到的原因(NoClassDefFoundError和ClassNotFoundException)

探究安卓应用类找不到的原因(NoClassDefFoundError和ClassNotFoundException)最近在公司协助同事解决了几个类找不到的问题,都比较典型,特此记录一下。

Wesley的博客 1446

MATLAB语言的并发编程

并发编程是指在同一程序中同时执行多个计算任务。通过将任务分解为较小的子任务,程序可以利用多核处理器的优势,提高计算效率。并发编程与并行编程密切相关,但不完全相同。并行编程强调任务的同时执行,而并发编程则侧重于任务的调度与管理,即使某些任务并没有同时执行。MATLAB的并发编程为数据分析、科学计算等应用提供了强大的支持。通过使用parforparfevalspmd等工具,用户可以轻松实现高效的并行计算。尽管MATLAB的并发编程工具相对简单易用,但在实际应用中仍需关注数据共享、通信、错误处理等问题。

2501_90485575的博客 365

android 5.0 java,Android 5.0 以下版本出现 java.lang.NoClassDefFoundError · Qu

0x00 前言版本兼容性测试发现在 Android 5.0 以下出现 NoClassDefFoundError,这个错误一般是由于超出 64K 方法造成,此时需要做分包处理,常用方法是引入官方的 MultiDex 即可解决大部份,以下为基础步骤引入 MultiDex 步骤引入依赖库compile 'com.android.support:multidex:1.0.3'App build.gradl...

weixin_30679293的博客 223

41-dify案例分享-基于database插件实现Text2sql的数据库查询图表工作流

本文介绍基于 Text2SQL 的 Dify 工作流实现过程。先阐述 Text2SQL 概念、步骤及应用领域。接着说明工作流制作,包括用 chatflow 加开场白、获取系统时间,配置 LLM 生成 SQL,用 SQL Execute 工具查询,经 LLM 汇总结果,代码生成 ECharts 数据,条件分支判断图表类型输出。最后介绍验证测试、提供体验地址,还提及借助工具生成建表和初始化数据 SQL 语句。

个人技术 1万+

关于【中孚计算机终端保密检查系统】的卸载

卸载中孚计算机终端保密检查系统

码农之路,向死而生 4万+

Android 5.0以下出现 java.lang.NoClassDefFoundError:

解决方法:一、配置build.gradle (app)android { compileSdkVersion 23 buildToolsVersion "24.0.1" defaultConfig { minSdkVersion 15 targetSdkVersion 22 // Enabling multidex support. 开关

huahuahua333686的博客 574

Android 12 HAL开发避坑实录:手把手教你用AIDL在Native层实现一个可开机自启动的Service

本文详细介绍了在Android 12 HAL开发中,如何通过AIDL在Native层实现一个可开机自启动的Service。从环境准备、AIDL接口定义、服务实现到VINTF集成与SELinux策略配置,提供了完整的实战指南,帮助开发者避开常见陷阱,提升开发效率。

weixin_28314575的博客 321

Android异常之NoClassDefFoundError

Android开发时如果出现NoClassDefFoundError异常, # main(1) java.lang.NoClassDefFoundError java.util.Objects 该异常表示找不到类定义,当JVM或者ClassLoader实例尝试装载该类的定义(这通常是一个方法调用或者new表达式创建一个实例过程的一部分)而这个类定义并没有找时所抛出的错误。 NoClassD...

姚镜堂 6539

笔试题-2023-芯动-数字IC设计【纯净题目版】

笔试题-2023-芯动-数字IC设计【纯净题目版】

w0shishabi的博客 6397

因果强化学习:优化决策策略的因果方法

1. 背景介绍 1.1 传统强化学习的局限性 强化学习(Reinforcement Learning, RL)是一种通过与环境交互来学习最优决策策略的方法。然而,传统强化学习方法在面对复杂、动态和不确定的现实世界问题时,往往存在以下局限性: 数据效率低:传统强化学习方法

AI天才研究院 659

android/Java NoClassDefFoundError 异常的出现及解决

这个异常出现的原因就是没找到对应的类。 出现的场景: app-> a.jar -> b.jar :比如 App 里面调用了 a.jar 的东西,然后 a.jar 里面又调用了 b.jar的东西。在 android studio 里面, 都是通过 gradle 的 implemetation ‘xxx’ 的方式引入的。 这时候就会发生 NoClassDefFoundError 的异常。 (这个问题解决方案就是 在 App里面也去引用一下 b.jar. @ 考虑到编译打包优化的问题,可能会把不使

Cat的专栏 3661

OpenCode + Oh My OpenCode:打造你的终极AI编程团队(OpenCode新手入门指南)

本文详细介绍了开源终端AI编程助手 OpenCode 的完整配置教程 🖥️,从安装、AI模型配置到增强插件 Oh My OpenCode 的部署一应俱全。支持 Claude、ChatGPT、Gemini 多模型切换 🤖,还能实现多AI智能体协作开发。步骤清晰适合新手 📝,想在终端用AI写代码的开发者不要错过 ✨

XiaoqiangClub的博客 1万+

android 4.2 noclassdeffounderror,在安卓4.2.2运行报错:java.lang.NoClassDefFoundError: io.dcloud.common.adapt...

用5+sdk开发安卓项目,开发过程中用自己的手机,安卓版本是7.0一切正常,今天发过去给客户用发现闪退,我也找了一台4.2.2版本的手机进行调试,结果启动时就保存,异常信息:E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.NoClassDefFoundError: io.dcloud.common.adapter.util.DeviceInfoat...

weixin_36352719的博客 628

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android5.0 应用闪退,【Android】MultiDex;NoClassDefFoundError;5.0以下系统应用闪退

遇到问题:应用在5.0以下的手机下运行闪退,报NoClassDefFoundError错误;解决方的http://blog.csdn.net/sayid_des/article/details/50462261http://www.open-open.com/lib/view/open1452264136714.htmlMultiDex的产生背景:当Android系统安装一个应用的时候,有一步是对...

weixin_42360778的博客 312

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

5.0系统以下应用程序启动失败,报 java.lang.NoClassDefFoundError错误

5.0以下应用启动失败问题

風過的博客 343

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$layout

java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$layout

梦想家Eva的专栏 651

接触Android Studio以来碰到的问题

接触Android Studio以来碰到的问题自从接触AS以来,不断的掉坑,在使用AS的过程中,很多问题解决的不是一帆风顺,都要卡克很久,所以在此记录一下之前遇到的“难题”,以后方便查阅。 一:Android 5.0以下出现java.lang.NoClassDefFoundError: 就是代码也没错误,但是一run就报错,当时测试的虚拟机是Android4.4.4的,很不幸运的是我找了几个测试

u012875442的专栏 762

解决 Android 5.0以下出现 java.lang.NoClassDefFoundError

Android 的坑记录,找到了解决方法 问题:Android 项目在5.0以上系统没有问题,在5.0以下系统闪退 出现 java.lang.NoClassDefFoundError 这个错误是Android应用的方法总数限制造成的。Android平台的Java虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型short来索引DEX文件中的方法。这意味着

qigemingzitt的博客 705

安卓运行时错误java.lang.NoClassDefFoundError分析

今天在调试项目的时候,突然发现项目在我的手机上一切正常,但是在另一个手机上却老是运行时崩溃,报java.lang.NoClassDefFoundError这个错误,这个错误一般都是类名或者包名不对导致找不到类的问题。于是各种debug,搞了两个点儿,仍旧没有发现问题所在,可以说笔者当时内心是崩溃的!好在最后终于解决了问题,所以写下此文,希望能够帮助遇到同样问题的开发者。 在安卓开发中,Jav

Wihatow's Blog 1672

Android5.0以下报NoClassDefFoundError解决方法

Android 5.0以下 NoClassDefFoundError 一开始,我的项目都是在API21(5.0)的情况下编写的,所以过程很顺利,没有任何的错误,但是偶然之下,我用了同事的4.4的测试机,发现只要用到网络请求的地方,就会报NoClassDefFoundError

陈译专栏 2341

Android 5.0以下出现 java.lang.NoClassDefFoundError

Android 5.0以下出现 java.lang.NoClassDefFoundError的解决方法 一.配置build.gradle (app) defaultConfig {                .....               multiDexEnabled   true  //增加开关 } 二.添加依赖 dep

xizhilang201的专栏 471

android 5.0 java,解決 Android 5.0以下出現 java.lang.NoClassDefFoundError

Android 的坑記錄,找到了解決方法問題:Android 項目在5.0以上系統沒有問題,在5.0以下系統閃退出現 java.lang.NoClassDefFoundError這個錯誤是Android應用的方法總數限制造成的。Android平台的Java虛擬機Dalvik在執行DEX格式的Java應用程序時,使用原生類型short來索引DEX文件中的方法。這意味着單個DEX文件可被引用的方法總數...

weixin_39722759的博客 153

安卓4.4玩java_Android4.4运行过程中闪退java.lang.NoClassDefFoundError

上周五项目测试时发现一个奇怪的Bug,项目中依赖了一个第三方框架,但是在android4.0-4.4.4之间的系统中运行会直接闪退,抛出错误异常为java.lang.NoClassDefFoundError。第一次遇到这样的问题,google了好久找到了以下几个原因:该异常表示找不到类定义,当JVM或者ClassLoader实例尝试装载该类的定义(这通常是一个方法调用或者new表达式创建一个实例过...

weixin_33554776的博客 340

java.lang.NoClassDefFoundError:Android5.0以下错误

随着厂里的业务越来越多,需求也越来越多,导致开发的项目也会随之变大。因我厂的项目是类似于电商这种的,前段时间项目有个新需求,加移动客服功能(类似淘宝客服)。在网上找到一些第三方平台,如环信,融云都是不错的选择。结合开发者的比较,最后选定了环信作为这次需求的主力军。一星期后需求按计划完成,也按时上线给客户使用。 但是刚上线不久,工作群中很多客户反应不能安装,这可是个很严重的问题。当时我很纳闷,但奇怪

Oliver Lau的博客 1066

关于分包后的apk运行发生java.lang.NoClassDefFoundError的问题

这次在开发过程中遇到了应用提交应用市场审核不通过的问题,小米开放平台给我发来了Log文件,一看发现是 java.lang.NoClassDefFoundError 这个错误引起了,反复查看代码就是没找到问题出在哪儿,百度半天一点进展没有。 然后谷歌了一下  出来了很多stackoverflow的结果  于是  我解决了   发下原地址:http://stackoverflow.com/que

theplayer3的博客 2643
上一篇: git 没有执行 git add . 直接执行git commit的解决方法
下一篇: EventBus在项目中的应用
Run_Forrest_Run
博客等级 码龄11年 0粉丝 7原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值