天天看点

Android开发方法数超过64k(65k)解决办法

声明:

1、本文源于:http://www.jianshu.com/p/271668909cc6

2、本人是Android初学者,有很多东西都不懂,所以在原文的基础上增加了一些疑问!

下面让我们开始:

Android开发方法数超过64k(65k)解决办法

解决方法

方案一、官方链接:https://developer.android.com/studio/build/multidex.html#about

方案二、使用插件化框架。栗子:https://github.com/singwhatiwanna/dynamic-load-apk

下面我们用方案一:分割Dex方法来解决,方案二我暂时不会,学会了再告诉大家(小编也没去学,刚学Android,所以也没用精力去研究这些)

解决方法分成三个步骤:

1、首先我们要在module的build.gradle的dependencies 中添加: compile ‘com.android.support:multidex:1.0.1’

Android开发方法数超过64k(65k)解决办法

2、还有在 defaultConfig 中添加:multiDexEnabled true

Android开发方法数超过64k(65k)解决办法

3、在 AndroidManifest.xml 中的 application 标签中添加

Android开发方法数超过64k(65k)解决办法

最后注意:如果你的APP继承了application,需要重写attachBaseContext(Context base)方法和继承MultiDexApplication

Android开发方法数超过64k(65k)解决办法
Android开发方法数超过64k(65k)解决办法

最后:经过验证,此方法确实可行。

小编的问题:“APP继承了application”是个什么鬼呢?摆渡了下:

http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html

讲的挺清楚的,即:继承application可以达到数据共享的目的,如果你的程序里的Activity很多,这里你想传递数据的时候需要用到intent,那么就可以通过继承Application来达到数据共享。

继续阅读