Android 解决Eclipse 方法超过65535问题

现在大部分开发应该都采用Android Studio工具做开发,但是也不乏有些比较苦逼的开发继续采用Eclipse做开发。

最近在和一个合作伙伴做API接口联调的时候,对方告诉我他们的游戏架构比较老旧目前依旧采用Eclipse做Android开发,所以我这边需要提供Eclipse版本的Android资源包。

好吧开始转入Eclipse,发现方法太多报错了,超过65535,这边只好对对jar做合并分包成classes.dex。

首先电脑安装ant,并创建build.xml文件内容如下所示

"1.0" encoding="utf-8"?>

name="libs" basedir="/Users/xx/Desktop/sdkjar" default="makeSuperJar">

    name="makeSuperJar"  description="description">

        destfile="/Users/xx/Desktop/sdkjar/all.jar">

            src="CustomService_1.2.3.jar"/>

            src="okhttp-3.12.1.jar"/>

            src="okio-1.15.0.jar"/>

       

   

basedir="/Users/xx/Desktop/sdkjar"为jar包所在的路径。

destfile="/Users/xx/Desktop/sdkjar/all.jar"为合成后jar包的路径。

src="okhttp-3.12.1.jar"/>为参与合并jar包的资源

进入到build.xml文件所在的目录执行,ant -buildfile build.xml   命令即可实现对jar包的合并。

合并jar包后,需要采用 dx --dex --output=classes.dex(生成dex的路径和名称)  source.jar(需要合并的jar包路径)

这样就完成了classes.dex文件的生成,为了使用这个dex,需要重命名为classes2.dex然后放到项目的src目录下即可完成编译。

这样就完成了通过分包classes.dex、classes2.dex ....等多个不同的dex文件解决了65535的问题。

除了上述操作还需要在项目的application attachBaseContext中添加 MultiDex.install(this);调用

@Override
  protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

 

 

你可能感兴趣的:(Android)