android编译会生成class吗,请教下Android N混合编译生成的base.art中的类在运行时最终添加到哪个classloader的问题...
您在Android N混合編譯與對(duì)熱補(bǔ)丁影響深度解析一文提到,為了規(guī)避混合編譯帶來(lái)的影響,采用運(yùn)行時(shí)替換PathClassLoader方案,因?yàn)锳pp image中的class是插入到PathClassloader中的ClassTable中。
但是最近我們測(cè)試這個(gè)方案沒(méi)有成功(程序剛開(kāi)始運(yùn)行正常,等過(guò)了兩三天生成base.art之后就開(kāi)始報(bào)錯(cuò))
而且從下列代碼上看 這些class好像時(shí)直接放到了bootclassloader的table里
// Boot class loader, use a null handle.
std::vector<:unique_ptr dexfile>> dex_files;
if (!AddImageSpace(image_space,
ScopedNullHandle<:classloader>(),
/*dex_elements*/nullptr,
/*dex_location*/nullptr,
/*out*/&dex_files,
error_msg)) {
return false;
}
if (class_loader == nullptr) {
return &boot_class_table_;
}
不知道我們哪里出錯(cuò)了?
總結(jié)
以上是生活随笔為你收集整理的android编译会生成class吗,请教下Android N混合编译生成的base.art中的类在运行时最终添加到哪个classloader的问题...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android热更新插件,与Androi
- 下一篇: android优雅私有方法注释,带有注释