<Android 基础(四十二)> MultiDex
来源:互联网 发布:淘宝怎么做手机上 编辑:程序博客网 时间:2024/06/04 19:23
1. 前言
最近做项目开发的时候,遇到一个问题,NoClassDef,NoMethod之类的错误,但是把log往前看,会发现一些Dalvik的一些报错,看到这些log之后,就会觉得后面的什么方法找不到,类没有定义什么的错误真是的应该出现,那么这些Dalvik的错误怎么解释呢?
因为类似的报错只出现在了一个同事的手机上,而且是KK版本,比较老。介绍下我的分析思路:
1. 确定问题发生位置,注释掉(并解决因注释引起的编译错误)—> Defeat
2. 因为是KK版本,调整minSDK到19 —> Defeat
3. 删除或者更新引起问题的jar包 —> Defeat
4. 考虑到MultiDex在Android5.0 以后默认支持,为兼容旧版本,手动兼容一下
————————>Victory
2. 配置MultiDex
Android5.0及以上版本默认支持MultiDex
2.1 修改build.gradle
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling MultiDex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.1'}
2.2 修改application
三种方法
2.2.1 在AndroidManifest.xml的application中声明android.support.MultiDex.MultiDexApplication
2.2.2 让自己的application类继承MultiDexApplication;
2.2.3 重写attachBaseContext()方法
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this);}
3. 推荐文章
更多关于MultiDex可以查阅
美团技术沙龙关于分包的博客
或者直接查看MultiDex源码。
阅读全文
1 0
- <Android 基础(四十二)> MultiDex
- android MultiDex multiDex原理(一)
- Android分包(Multidex)
- javascript基础(延时调用)(四十二)
- android MultiDex
- Android对话框AlertDialog-android学习之旅(四十二)
- android MultiDex multidex原理原理下遇见的N个深坑(二)
- android MultiDex multidex原理下超出方法数的限制问题(三)
- Android开发笔记(四十二)Broadcast的生命周期
- Android MultiDex解决方案
- Android gradle 编译 MultiDex
- Android gradle 编译 MultiDex
- Android gradle 编译 MultiDex
- Android 分Dex (MultiDex)
- 【Android】Google Multidex使用方法
- Android MultiDex机制杂谈
- Android MultiDex机制杂谈
- Android MultiDex学习
- javascript随笔
- mySQL之索引
- C学习心得二(printf用法)
- 神经网络初探:反向传播公式的简易证明
- JS最全的图片预加载技术并且封装成插件
- <Android 基础(四十二)> MultiDex
- HDU6203 ping ping ping 【LCA+BIT】
- hadoop和spark的异同
- iOS 仿 UC 浏览器个人中心 (下拉实现果冻效果)
- 通过 “期望”实现的一个并发快排
- C语言 typeof关键字
- hdu 4034 【floyed变形】
- Jquery中使用$append出现添加两次及Jquery对象多次使用的方法
- Android 高德地图的定位功能,以及动态开启权限