diff options
Diffstat (limited to 'runtime/runtime.cc')
| -rw-r--r-- | runtime/runtime.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 1101acdf61..e30c26dd5e 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -1131,10 +1131,14 @@ bool Runtime::Init(RuntimeArgumentMap&& runtime_options_in) { } std::vector<std::unique_ptr<const DexFile>> boot_class_path; - OpenDexFiles(dex_filenames, - dex_locations, - runtime_options.GetOrDefault(Opt::Image), - &boot_class_path); + if (runtime_options.Exists(Opt::BootClassPathDexList)) { + boot_class_path.swap(*runtime_options.GetOrDefault(Opt::BootClassPathDexList)); + } else { + OpenDexFiles(dex_filenames, + dex_locations, + runtime_options.GetOrDefault(Opt::Image), + &boot_class_path); + } instruction_set_ = runtime_options.GetOrDefault(Opt::ImageInstructionSet); std::string error_msg; if (!class_linker_->InitWithoutImage(std::move(boot_class_path), &error_msg)) { |