android编译会生成class吗,请教下Android N混合编译生成的base.art中的类在运行时最终添加到哪个classloader的问题...
生活随笔
收集整理的這篇文章主要介紹了
android编译会生成class吗,请教下Android N混合编译生成的base.art中的类在运行时最终添加到哪个classloader的问题...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
您在Android N混合編譯與對熱補丁影響深度解析一文提到,為了規避混合編譯帶來的影響,采用運行時替換PathClassLoader方案,因為App image中的class是插入到PathClassloader中的ClassTable中。
但是最近我們測試這個方案沒有成功(程序剛開始運行正常,等過了兩三天生成base.art之后就開始報錯)
而且從下列代碼上看 這些class好像時直接放到了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_;
}
不知道我們哪里出錯了?
總結
以上是生活随笔為你收集整理的android编译会生成class吗,请教下Android N混合编译生成的base.art中的类在运行时最终添加到哪个classloader的问题...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android热更新插件,与Androi
- 下一篇: android优雅私有方法注释,带有注释