美文网首页Android UIAndroid开发感悟Android开发者俱乐部
Android开发方法数超过64k(65k)解决办法

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

作者: Karma1026 | 来源:发表于2016-05-24 15:53 被阅读5501次

因为公司的项目集成了很多无用的jar包,最近在添加Google地图的时候,出现了一个传说中的错误,方法数超过64k(65k),一看到我就吓呆了,之前我在其他博客看过这种情况,可是我一直没有遇到过,一直也不了解这是什么鬼。下面跟大家粗略介绍下什么是方法数超过64k(65k)和官方给出的解决办法。

到底是64k还是65k呢?不要问我,我也不知道。

看到了杰风居大大的博客里面写道说:
都没有错,同一个问题,只是不同的说法而已:
65536按1000算的话,是65k=65x1000
65536按1024算的话,是64k=64x1024
重点是65536=2^16,请大家记住这个数字。

报错提示
64k报错.png
解决办法
下面我们用方案一:分割Dex方法来解决,方案二我暂时不会,学会了再告诉大家
  • 首先我们要在module的build.gradle的dependencies 中添加: compile 'com.android.support:multidex:1.0.1'

    multidex.png
  • 还有在在 defaultConfig 中添加:multiDexEnabled true

multiDexEnable.png
  • 在 AndroidManifest.xml 中的 application 标签中添加
添加.png

温馨提示:如果你的APP继承了application,需要重写attachBaseContext(Context base)方法和继承MultiDexApplication

重写和继续.png
  • 代码


    继承.png

相关文章

网友评论

  • 苏州丸子:你这老司机,我也醉了。不看报错信息吗?还65k????
    Error:The number of method references in a .dex file cannot exceed 64K.
    Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
    Karma1026:看到了杰风居大大的博客里面写道说:
    都没有错,同一个问题,只是不同的说法而已:
    65536按1000算的话,是65k=65x1000
    65536按1024算的话,是64k=64x1024
  • 程序浪:MultiDexApplication并不需要继承它
  • stevewang:Application标签中 不用添加MultiDexApplication
  • 墨源为水:那请问一下,那你的MyApp在AndroidManifest.xml文件下哪里声明啊?
  • liu灰1314:如果用Eclipse开发呢
    Karma1026:@liu灰1314 没有试过,好久就没有eclipse了:joy:
  • 652b0f754421:完了????
    Karma1026:@onlykk 对啊!不然呢?只是简单的操作方法,没有深入了解,详细的看官方

本文标题:Android开发方法数超过64k(65k)解决办法

本文链接:https://www.haomeiwen.com/subject/isezrttx.html