原本以为65535方法数对我来说还很远,直到项目突然蹦出:
java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536
由于项目是由以前的老同事在eclipse环境下搭建的,所以解决起来就比较棘手。在解决的过程中差点就想着直接把项目移到Android studio 下解决算了。废话少说:
具体步骤:
1、利用ant 软件合并jar包:
ant 下载:ant 下载
ant 安装步骤:
把刚刚配置好的%ANT_HOME%\bin;放在path后面,注意分号,全部点击确认
按win+r 输入cmd 或者在电脑桌面按shift+鼠标右键,点击在此处打开命令窗口 输入 ant
ant 配置成功
合并jar包:
把项目的全部jar包复制进同一个文件夹内,并新建index.xml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<project
name="base"
basedir="G:\jar"
default="makeSuperJar" >
<target
name="makeSuperJar"
description="description" >
<jar destfile="base.jar" >
<zipfileset src="android-support-v4.jar" />
<zipfileset src="baidumapapi_base_v4_1_1.jar" />
<zipfileset src="baidumapapi_cloud_v4_1_1.jar"/>
<zipfileset src="baidumapapi_map_v4_1_1.jar" />
<zipfileset src="baidumapapi_radar_v4_1_1.jar" />
<zipfileset src="baidumapapi_search_v4_1_1.jar" />
<zipfileset src="baidumapapi_util_v4_1_1.jar" />
<zipfileset src="core-2.3-SNAPSHOT.jar" />
<zipfileset src="fastjson-1.2.5.jar" />
<zipfileset src="GetuiSDK2.9.5.0.jar" />
<zipfileset src="httpclient-4.3.6.jar" />
<zipfileset src="javase-2.3-SNAPSHOT.jar" />
<zipfileset src="json_simple-1.1.jar" />
<zipfileset src="libammsdk.jar" />
<zipfileset src="locSDK_6.13.jar" />
<zipfileset src="MobCommons-2016.1107.1809.jar" />
<zipfileset src="MobTools-2016.1107.1809.jar" />
<zipfileset src="ormlite-android-4.43.jar" />
<zipfileset src="ormlite-core-4.43.jar" />
<zipfileset src="ShareSDK-Core-2.7.10.jar" />
<zipfileset src="ShareSDK-QQ-2.7.10.jar" />
<zipfileset src="ShareSDK-SinaWeibo-2.7.10.jar" />
<zipfileset src="ShareSDK-Wechat-2.7.10.jar" />
<zipfileset src="ShareSDK-Wechat-Core-2.7.10.jar" />
<zipfileset src="ShareSDK-Wechat-Moments-2.7.10.jar" />
<zipfileset src="tbs_sdk_thirdapp_v3.0.0.1038_43000_sharewithdownload_obfs_20170110_144724.jar" />
</jar>
</target>
</project>
打开cmd 输入 ant -buildfile G:\jar\index.xml 回车
成功后你会发现多了一个jar包:这个包就是你要的包
jar转成dex格式:
android sdk为我们提供了jar转dex工具
打开 sdk\build-tools\19.1.0 目录下
将刚刚的base.jar包拷贝到按 sdk\build-tools\19.1.0目录下,shift+鼠标右键 在dx.bat目录的空白处 选择在此处打开命令窗口
输入dx –dex –output=classes2.dex base.jar
此时sdk\build-tools\19.1.0目录下路径下就存在classes2.dex文件
classes2.dex使用
复制到eclipse的 src目录下,然后把base.jar包导入工程中
除了Android4.4.2打勾,其他的都不打勾,点击确认。
ok 收工!!

本文介绍了解决Android项目中方法数超过65535限制的问题,通过合并多个jar包并转换为dex格式的方法来规避此限制。
754

被折叠的 条评论
为什么被折叠?



