gpt4 book ai didi

android - 多文件格式

转载 作者:搜寻专家 更新时间:2023-11-01 09:45:43 24 4
gpt4 key购买 nike

我有兴趣了解 dex 文件 (classesN.dex) 如何引用另一个 classesN.dex 文件中的方法。

在标准的 dex 布局中,所有的类、方法、类型等...定义都在不同的表中。动态链接的东西(例如来自 Android 框架的东西)只包含它们的方法原型(prototype),但没有代码数据。是不是在multidex设置中,每个classesN.dex都包含一组类实现,而在其他dex文件中实现的方法只是以与动态链接调用相同的方式包含?

换句话说,如果 classes.dex 需要引用方法 classes1.dex,它将将该方法作为原型(prototype)包含在 classes.dex< 中,然后在 classes1.dex 中包含它的实现?

最佳答案

我最终解决了这个问题:事实证明,在 multidex 布局中,相关的方法和类定义包含在每个 dex 文件中。例如,如果 classes.dex引用方法foo()来自 classes1.dex , 它将在 foo() 的方法表中包含一个相关条目在 classes.dex 内的方法表。但是执行foo()将出现在 classes1.dex .这是有效的,因为 foo()通常类似于应用程序使用的库的条目。该库的入口点可以在没有 foo 调用的所有方法的情况下使用。 .在 classes.dex , foo将在没有相应代码项的情况下定义,就像它是动态链接的 Android 标准库的一部分一样。

关于android - 多文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38257850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com