Eclipse简单分包65535问题
来源:互联网 发布:制作编程语言 编辑:程序博客网 时间:2024/06/07 09:40
我们知道,再Android Studio中解决分包问题是非常简单的,但是一搜eclipse中分包实现,各种结果,大部分都是使用Gradle进行编译实现自动分包,比如这篇 Eclipse中使用multidex解决分包
,配置一大堆,非常麻烦。
首先google官方是给出了解决方案的,详细请看连接:
https://developer.android.google.cn/studio/build/multidex.html
最核心的技术就是:Dalvik 可执行文件分包。我们都知道安卓的虚拟机能执行的就是 dex文件,dex 说白了就是 class文件 通过工具进行相应的转换的。google 这个解决方案当然是针对自己的亲儿子 AndroidStudio 解决的,对于 eclipse 可不管。studio 本身用的就是 gradle 编译的。但是 eclipse 默认是 ant 编译的所以,还需要配置 gradle ,但是 eclipse 配置 gradle 还是相对比较麻烦的。所以我们还是基于 ant 进行解决。
下面是具体的解决思路:
1.将jar包生成 classes2.dex 将生成的 classes2.dex 至于工程目录中的 src目录 下。
如果有多个jar包可合并成一个,可使用eclipse插件fatjar或者其它方法合并。注意,再application里面就用到的jar包,必须放在主dex即lib目录下,不然会找不到。
jar包 → dex可 参照我之前的文章 Android将jar包转换为dex二进制文件
2.从 lib目录 下剔除用来合并的 jar 。但是剔除后为了能编译通过我们得使用外部引用:通过 bulidPath 下的 add external archives 引用被我们合并的之前的 jar。
我的做法是在src目录下新建 external-jars 文件夹,把剔除的jar包放在这里,
再到本地项目目录下找到
添加
<classpathentry kind="lib" path="external-jars/zxing.jar"/>
再clean一下,项目就不会报错了。
3.导入 mutildex 分包所需要的jar包。如图:
然后在自定义的 application 类中声明载入dex文件的代码MultiDex.install(this);
4.至此我们调试或者打包项目的时候将不会在出现65535的问题。如果依然存在可以合并更多的jar。以此类推。
最后需要注意:
1.在 application中 使用的 jar 不能通过分包的方式,否则会提示 classnotfound。因此 application 中使用的jar还是存放于lib下。默认是主dex即 classes.dex。
2.如果打包的jar需要更新,那么得重新生成 classes 文件
3.classes 必须放置与 src根目录,并且命名规范严格按照 classes2.dex、 classes3.dex 的方式以此类推。否则会找不到不规则命名的jar包。
- Eclipse简单分包65535问题
- eclipse 分包
- Eclipse项目分包管理
- 简单分包传输协议
- 简单的AndroidStudio分包
- UDP分包问题
- UDP TCP 分包问题
- UDP分包问题
- 关于从eclipse中导入到AS进行分包的问题汇总
- h264的rtp分包问题
- Android Dex多分包问题
- 1、Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)--Ant安装
- 1、Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)--Ant安装
- 2.Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)
- Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)(转)
- Eclipse中使用Gradle实现APK分包
- 一个简单的Socket分包程序
- android studio很简单的资源分包
- 第十一章 缓存内容
- 51. N-Queens
- ThreadLocal与Spring
- 状态压缩DP总结【POJ3254】【POJ1185】【POJ3311】【HDU3001】【POJ2288】【ZOJ4257】【POJ2411】【HDU3681】
- 任务一
- Eclipse简单分包65535问题
- list -- set方法——替换列表中指定位置的元素
- 第十二章 构建API
- 集合框架源码学习——ArrayList
- Web.xml配置详解之context-param
- linux下安装nodejs的 webpack的问题解决
- HDU1540-Tunnel Warfare(线段树区间合并)
- Winidows下版本控制Git + TortoiseGit安装使用
- Android系统休眠---踩坑的路