文档章节

Android 方法数65535

 典型人物
发布于 2016/07/20 20:03
字数 418
阅读 13
收藏 0

今天面试的时候面试官问了一个问题是关于方法数超过65535的,本人从来没遇到过结果没答上,回家后果断百度,特此记录。

问题描述:Android项目引入过多的第三方包时,在编译成dex文件的时候,单个dex文件中的方法总数超过了65535个,此时就报错。直白了说就是单个dex文件最多能接受65535个方法。

Google已经描述了这一问题,并且颁布了对应的解决方案。使用Android-support-multidex.jar兼容包来解决。注意:此包只能兼容到api 14,一次4.0一下的系统会有问题。 方案原理:编译时发现方法总数过多时,将生成多个dex文件,这样单个文件的方法总数就不会产生65535的问题。

一,非gradle构建的项目(eclipse开发项目)解决方案: 通常使用eclipse开发,都是使用的adt构建的项目,出现此问题解决方案就是 1 下载Android-support-multidex.jar兼容包。 2 将此兼容包放到libs目录下,并将jar引入过程配置。 3 如果代码有实现了Application的类,则需要将此类继承MultiDexApplication类。如果没有则在AndroidMainfest.xml中加入如下配置。

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> <application ... android:name="android.support.multidex.MultiDexApplication"> ... </application> </manifest>

二、gradle构建的项目(Android studio默认的构建方式)解决方案 思路基本相同: 1,引入兼容包Android-support-multidex.jar dependencies { compile 'com.android.support:multidex:1.0.0' } 2,配置Application类,或者配置清单文件 详情见:android 官网相关介绍

本文转载自:https://segmentfault.com/n/1330000003998540

共有 人打赏支持
粉丝 0
博文 1
码字总数 0
作品 0
深圳
【android测试】值得学习的android测试知识连接

Android应用程序的debug属性: http://blog.csdn.net/hudashi/article/details/8698142 彻底解决Android 应用方法数不能超过65535的问题 http://blog.csdn.net/yuanzeyao/article/details/418......

beijing_zbs
2014/12/02
0
0
eclipse下android项目解决方法数id超过65535

java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 你的应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了. 那么让我们看一下为什么会引起这种错...

chuxuezhe_
2014/12/10
0
11
手机淘宝Android客户端架构

手机淘宝Android客户端有几百人开发,十几个团队。如果整个Android客户端是一个工程,那十几个团队每个人上午上班第一件事情估计就是合代码,运气不好,一天都在合代码,而且只要有一个人提交...

fneg
2015/07/04
0
8
Android架构思考:没有完美的架构,只有合适的架构

app发展到一定规模,就面临方法数超过65535的问题,前路怎么走,是像美团或者微信那样拆分成多个dex还是像淘宝,携程那样拆成多个bundle,怎么向前走? 没有完美的架构,只有合适的架构。但是...

fneg
2015/11/07
0
2
Android插件化开发之动态加载技术学习

Android插件化开发之动态加载技术学习 为什么要插件化开发和动态加载呢?我认为原因有三点: 可以实现解耦 可以解除单个dex函数不能超过65535的限制 可以给apk瘦身,比如说360安全卫士,整个...

幸运券发放
05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
今天
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部