在什么情况下会在Android.apk文件中创建多个.dex文件?
那里 我目前正在研究Ajadx项目,并发现可能有多个classes.dex文件。 有没有人知道为什么,也许还有Android发展史的演变?在什么情况下会在Android.apk文件中创建多个.dex文件?,android,apk,dex,Android,Apk,Dex,那里 我目前正在研究Ajadx项目,并发现可能有多个classes.dex文件。 有没有人知道为什么,也许还有Android发展史的演变? 谢谢大家! Java的最大.dex(Dalvik可执行文件)操作(非dex大小)为4G(即4G字节) “启用多索引”意味着系统可以根据需要创建多个索引文件 什么时候做dex手术? 无论何时创建apk(即在apk构建中),都会发生这种情况 单个索引的最大大小为65K(即65KB) 注意:如果应用程序中有这么多并发执行,那么8K dex文件可以跨65K dex操
谢谢大家! Java的最大
.dex
(Dalvik可执行文件
)操作(非dex大小)为4G(即4G字节)
“启用多索引”意味着系统可以根据需要创建多个索引文件
什么时候做dex手术?
无论何时创建apk(即在apk构建中),都会发生这种情况
单个索引的最大大小为65K(即65KB)
注意:如果应用程序中有这么多并发执行,那么8K dex文件可以跨65K dex操作。即使将总(最大)索引操作大小设置为4G,也可能会出现类似的错误。见下图:
这在构建项目中是可以的,但是,当您尝试构建APK时会出现此错误
要解决此问题,需要启用multidex。启用multidex后,在构建时,Android Studio会从第一个65K dex操作内存生成相应的第一个dex文件,从第二个65K dex操作内存生成第二个dex文件,依此类推
现在,当您更改build.gradle以启用multidex时,您可以构建APK。
现在,您的apk文件已经准备好了。您解压缩apk文件并进入该文件夹。你们可以看到下面的图片。看到这张照片了吗
你看,有两个dex文件:classes.dex和classes2.dex。First classes.dex文件(在我的示例中)是8.3MB,它是前65K个并发dex操作的输出。第二个classes2.dex文件是rest-dex操作的输出(我们不知道确切情况,但我们知道它小于65K)
这样,整个dex文件的总体dex操作是4G(4GB),这是您在这里要求的
希望,我给了你答案 先读相关的-