关于分包后的apk运行发生java.lang.NoClassDefFoundError的问题
来源:互联网 发布:淘宝网玩具批发市场 编辑:程序博客网 时间:2024/05/22 02:17
这次在开发过程中遇到了应用提交应用市场审核不通过的问题,小米开放平台给我发来了Log文件,一看发现是 java.lang.NoClassDefFoundError这个错误引起了,反复查看代码就是没找到问题出在哪儿,百度半天一点进展没有。
然后谷歌了一下 出来了很多stackoverflow的结果 于是 我解决了
发下原地址:http://stackoverflow.com/questions/32110859/fatal-exception-java-lang-noclassdeffounderror-android-support-v7-appcompat-r
具体就是因为我项目中引用各种第三方sdk、jar包导致项目开始变得臃肿,然后方法名过多做了分包的处理
重点就是这个 做了分包处理后 我周围的安卓机都是Android 5.0以上的系统 Android 5.0以上的系统能够正常读取拆分后的dex包 而Android 5.0以下的版本则不能
为此 我用multirom给我的Nexus 5多刷了一个Android 4.4版本miui系统 发现确实是这样 应用一启动直接就崩了
然后根据stackoverflow上的大神给出了方法成功解决了这个问题。
就酱。
我把解决问题关键内容直接贴出来好了
I faced the same issue and fixed it. It is issue with Dex limit. Because the dex limit is reached, it creates two dex files. Lollipop knows how to read, pre-Lollipop has no idea unless you specify it in theApplication
class.
Please make sure following is in place:
in build.gradle
dependencies { compile 'com.android.support:multidex:1.0.0'}defaultConfig { multiDexEnabled true}
IMPORTANT to support pre-Lollipop:
In Manifest, under the application tag,
<application ... android:name="android.support.multidex.MultiDexApplication"> ...</application>
Or if you have used your own Application
class, make yourApplication
override attachBaseContext
starting with
import android.support.multidex.MultiDexApplication; import android.support.multidex.MultiDex; public class MyApplication extends MultiDexApplication { // ...... @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }}
- 关于分包后的apk运行发生java.lang.NoClassDefFoundError的问题
- 关于java.lang.NoClassDefFoundError错误的问题
- 关于 java.lang.NoClassDefFoundError: com.umeng.analytics.d的问题
- 关于JAVA Json运行期间出现java.lang.NoClassDefFoundError问题
- 关于java.lang.NoClassDefFoundError的解决办法
- 关于java.lang.NoClassDefFoundError的解决方法
- 纠结+郁闷的java.lang.NoClassDefFoundError问题
- 解决 java.lang.NoClassDefFoundError的问题
- java.lang.NoClassDefFoundError问题的解决办法
- java.lang.NoClassDefFoundError问题的解决办法
- java.lang.NoClassDefFoundError问题的处理
- 一个java.lang.NoClassDefFoundError问题的解决
- 解决“java.lang.NoClassDefFoundError“的问题
- java.lang.NoClassDefFoundError问题的解决
- 关于lucene的demo运行时出现Exception in thread "main" java.lang.NoClassDefFoundError错误
- 关于 greenDao 在studio 里的运行时java.lang.NoClassDefFoundError: org.greenrobot.greendao.query.QueryBuilder
- 解决Spring TestContext下运行JUnit4抛错(java.lang.NoClassDefFoundError)的问题
- 解决Spring TestContext下运行JUnit4抛错(java.lang.NoClassDefFoundError)的问题
- 通知和kvo以及代理的区别
- Populating Next Right Pointers in Each Node
- 从java内存分配角度分析android内存泄漏问题
- ListView配合popmenu的使用
- 啊哦!还是语言关
- 关于分包后的apk运行发生java.lang.NoClassDefFoundError的问题
- java日期类
- android的日志工具log
- RxVelloy 简介
- ubuntu13.04 安装jdk6
- 安卓四种启动模式使用场景
- 在vs中用C++编程的方式生成.dll文件和以动态、静态调用dll中函数
- mnesia 文档地址
- VS2010使用附加进程的方式调试IIS中的页面介绍