那里
我目前正在研究Ajadx项目,并发现可能有多个classes.dex文件.是否有人知道为什么以及可能不断发展的Android开发历史呢?谢谢!
Java 的最大.dex(Dalvik可执行文件)操作(不是dex大小)是4g(表示4 GegaBytes).
"启用multidex"意味着系统可以根据需要创建多个dex文件.
什么时候发生dex操作?每当你创建apk(意味着,在apk版本中)时就会发生这种情况.
最大单个dex大小为65K(表示65KiloByte).
注意:如果应用程序中有如此多的并发执行,则8K dex文件可以跨越65K dex操作.即使设置总(最大)dex操作大小为4g,您也可能得到类似的错误.看到这张图片, MultidexEnabled:false error.它在构建项目中很好,但是,当您尝试构建APK时,会出现此错误.
要解决此问题,您需要启用multidex.启用multidex并在构建时,Android Studio会从第一个65K dex操作内存生成相应的第一个dex文件,从第二个65K dex操作内存生成第二个dex文件,依此类推.
现在,当您更改build.gradle以启用multidex时,您可以构建您的APK.现在,你的apk文件准备好了.你解压缩你的apk文件并进入该文件夹.您可以看到如下图所示的内容.请参阅此图片 文件夹结构,其中包含dex文件
你看,有两个dex文件:classes.dex和classes2.dex.第一个classes.dex文件(在我的例子中)是8.3MB,它是第一个65K并发dex操作的输出.并且,第二个classes2.dex文件是rest dex操作的输出(我们不确切知道,但我们知道它小于65K).
这样,总dex文件的整体dex操作是4g(4GB),你在这里问.
希望,我给了你答案.
| 归档时间: |
|
| 查看次数: |
4299 次 |
| 最近记录: |