We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ART's library locations:
sargo:/ # find / 2>/dev/null|grep libart.so /apex/com.android.runtime/lib64/libart.so /apex/com.android.runtime/lib/libart.so /apex/com.android.runtime@1/lib64/libart.so /apex/com.android.runtime@1/lib/libart.so /system/apex/com.android.runtime.release/lib64/libart.so /system/apex/com.android.runtime.release/lib/libart.so
$ r2 libart.so [0x0012d000]> iEq~+opencom,openme,dexfile 0x00562a08 276 art::verifier::VerifierDeps::VerifyDexFile(art::Handle<art::mirror::ClassLoader>, art::DexFile const&, art::verifier::VerifierDeps::DexFileDeps const&, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::Thread*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x00522edc 628 art::verifier::MethodVerifier::MethodVerifier(art::Thread*, art::DexFile const*, art::dex::CodeItem const*, unsigned int, bool, bool, bool) 0x0044ce24 60 art::OatFile::FindOatClass(art::DexFile const&, unsigned short, bool*) 0x0051f934 24 art::VdexFile::VerifierDepsHeader::HasDexSection() const 0x0051f8e8 24 art::VdexFile::VerifierDepsHeader::IsVerifierDepsVersionValid() const 0x001640cc 112 art::FindInClassPath(char const*, unsigned long, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x001dd3a4 296 art::optimizer::ArtDecompileDEX(art::DexFile const&, art::dex::CodeItem const&, art::ArrayRef<unsigned char const> const&, bool) 0x0044af04 3364 art::OatDexFile::GetOatClass(unsigned short) const 0x00168838 1156 art::ClassLinker::SetupClass(art::DexFile const&, art::dex::ClassDef const&, art::Handle<art::mirror::Class>, art::ObjPtr<art::mirror::ClassLoader>) 0x0055e058 512 art::verifier::VerifierDeps::AddFieldResolution(art::DexFile const&, unsigned int, art::ArtField*) 0x0056292c 220 art::verifier::VerifierDeps::ValidateDependencies(art::Thread*, art::Handle<art::mirror::ClassLoader>, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x001603bc 344 art::ClassLinker::AppendToBootClassPath(art::DexFile const&, art::ObjPtr<art::mirror::DexCache>) 0x0055f054 76 art::verifier::VerifierDeps::MaybeRecordClassResolution(art::DexFile const&, art::dex::TypeIndex, art::ObjPtr<art::mirror::Class>) 0x0044ac54 112 art::OatDexFile::OatDexFile(art::OatFile const*, art::DexFile const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x0056395c 2876 art::verifier::VerifierDeps::VerifyFields(art::Handle<art::mirror::ClassLoader>, art::DexFile const&, std::__1::set<art::verifier::VerifierDeps::FieldResolution, std::__1::less<art::verifier::VerifierDeps::FieldResolution>, std::__1::allocator<art::verifier::VerifierDeps::FieldResolution> > const&, art::Thread*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x001944dc 3136 art::ClassLoaderContext::OpenDexFiles(art::InstructionSet, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<int, std::__1::allocator<int> > const&) 0x0016c028 724 art::ClassLinker::IsDexFileRegistered(art::Thread*, art::DexFile const&) 0x003f4e50 624 art::mirror::DexCache::InitializeDexCache(art::Thread*, art::ObjPtr<art::mirror::DexCache>, art::ObjPtr<art::mirror::String>, art::DexFile const*, art::LinearAlloc*, art::PointerSize) 0x001d85e8 580 art::annotations::HasDeadReferenceSafeAnnotation(art::DexFile const&, art::dex::ClassDef const&) 0x0044aa08 588 art::OatDexFile::OatDexFile(art::OatFile const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned char const*, unsigned char const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, unsigned int const*, art::DexLayoutSections const*) 0x0055def8 352 art::verifier::VerifierDeps::AddClassResolution(art::DexFile const&, art::dex::TypeIndex, art::ObjPtr<art::mirror::Class>) 0x0044aef4 16 art::OatDexFile::IsBackedByVdexOnly() const 0x00163474 404 art::ClassLinker::AllocDexCache(art::ObjPtr<art::mirror::String>*, art::Thread*, art::DexFile const&) 0x00520b48 8 art::VdexFile::GetQuickeningInfoTableOffset(unsigned char const*) const 0x0019f27c 204 art::ThrowAbstractMethodError(unsigned int, art::DexFile const&) 0x0016b4a0 1960 art::ClassLinker::LoadMethod(art::DexFile const&, art::ClassAccessor::Method const&, art::Handle<art::mirror::Class>, art::ArtMethod*) 0x004505cc 992 art::OatFileAssistant::LoadDexFiles(art::OatFile const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) 0x0052022c 432 art::VdexFile::OpenAllDexFiles(std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0055c4c8 1880 art::verifier::VerifierDeps::MergeWith(std::__1::unique_ptr<art::verifier::VerifierDeps, std::__1::default_delete<art::verifier::VerifierDeps> >, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x0055f188 2844 art::verifier::VerifierDeps::Encode(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*) const 0x0051f900 52 art::VdexFile::VerifierDepsHeader::IsDexSectionVersionValid() const 0x0056160c 1588 art::verifier::VerifierDeps::DexFileDeps::Equals(art::verifier::VerifierDeps::DexFileDeps const&) const 0x00337c14 3328 art::jit::Jit::CompileMethodsFromProfile(art::Thread*, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, art::Handle<art::mirror::ClassLoader>, bool) 0x0055d904 192 art::verifier::VerifierDeps::GetMethodDeclaringClassStringId(art::DexFile const&, unsigned int, art::ArtMethod*) 0x0015ed3c 2016 art::ClassLinker::RegisterDexFileLocked(art::DexFile const&, art::ObjPtr<art::mirror::DexCache>, art::ObjPtr<art::mirror::ClassLoader>) 0x0044ae28 188 art::OatDexFile::OpenDexFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x00331254 280 art::RemoveNativeDebugInfoForDex(art::Thread*, art::DexFile const*) 0x0014457c 932 art::ArtMethod::FindDexMethodIndexInOtherDexFile(art::DexFile const&, unsigned int) 0x00163608 196 art::ClassLinker::AllocAndInitializeDexCache(art::Thread*, art::DexFile const&, art::LinearAlloc*) 0x004cd5a4 940 art::RuntimeCallbacks::ClassPreDefine(char const*, art::Handle<art::mirror::Class>, art::Handle<art::mirror::ClassLoader>, art::DexFile const&, art::dex::ClassDef const&, art::DexFile const**, art::dex::ClassDef const**) 0x00520b88 616 art::VdexFile::GetQuickenedInfoOf(art::DexFile const&, unsigned int) const 0x00520b50 20 art::VdexFile::GetQuickenInfoOffsetTable(unsigned char const*, art::ArrayRef<unsigned char const> const&) const 0x00411374 556 art::register_dalvik_system_DexFile(_JNIEnv*) 0x00164fc8 2624 art::ClassLinker::DefineClass(art::Thread*, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>, art::DexFile const&, art::dex::ClassDef const&) 0x00454860 7904 art::OatFileManager::OpenDexFilesFromOat(char const*, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) 0x00528f18 288 art::verifier::MethodVerifier::CreateVerifier(art::Thread*, art::DexFile const*, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>, art::dex::ClassDef const&, art::dex::CodeItem const*, unsigned int, art::ArtMethod*, unsigned int, bool, bool, bool, bool, bool, unsigned int) 0x00456740 468 art::OatFileManager::OpenDexFilesFromOat(std::__1::vector<art::MemMap, std::__1::allocator<art::MemMap> >&&, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) 0x005610c8 504 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::ArrayRef<unsigned char const>) 0x001d7a78 936 art::annotations::GetNativeMethodAnnotationAccessFlags(art::DexFile const&, art::dex::ClassDef const&, unsigned int) 0x0016e8fc 584 art::ClassLinker::VerifyClassUsingOatFile(art::DexFile const&, art::ObjPtr<art::mirror::Class>, art::ClassStatus&) 0x00154b60 17428 art::ClassLinker::InitWithoutImage(std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0055ccd0 360 art::verifier::VerifierDeps::GetClassDescriptorStringId(art::DexFile const&, art::ObjPtr<art::mirror::Class>) 0x00169630 1236 art::ClassLinker::LoadSuperAndInterfaces(art::Handle<art::mirror::Class>, art::DexFile const&) 0x005612c0 280 art::verifier::VerifierDeps::ParseVerifiedClasses(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::ArrayRef<unsigned char const>) 0x00456914 2084 art::OatFileManager::OpenDexFilesFromOat_Impl(std::__1::vector<art::MemMap, std::__1::allocator<art::MemMap> >&&, _jobject*, _jobjectArray*, art::OatFile const**, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) 0x00196464 2156 art::ClassLoaderContext::CreateClassLoader(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) const 0x005cda40 8 art::WellKnownClasses::dalvik_system_DexPathList__Element_dexFile 0x001d834c 668 art::annotations::MethodContainsRSensitiveAccess(art::DexFile const&, art::dex::ClassDef const&, unsigned int) 0x005213d8 420 art::VdexFile::MatchesDexFileChecksums(std::__1::vector<art::DexFile::Header const*, std::__1::allocator<art::DexFile::Header const*> > const&) const 0x0044aee4 16 art::OatDexFile::GetOatClassOffset(unsigned short) const 0x00159fdc 352 art::ClassLinker::AppendToBootClassPath(art::Thread*, art::DexFile const&) 0x005cd418 32 art::RuntimeArgumentMap::NoDexFileFallback 0x00185158 1408 art::ClassLinker::CreateWellKnownClassLoader(art::Thread*, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, _jclass*, _jobject*, _jobject*) 0x00521ec8 2436 _ZN3art8verifier13ClassVerifier11VerifyClassEPNS_6ThreadEPKNS_7DexFileENS_6HandleINS_6mirror8DexCacheEEENS7_INS8_11ClassLoaderEEERKNS_3dex8ClassDefEPNS_17CompilerCallbacksEbNS0_15HardFailLogModeEjPNSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocato 0x0055f0a0 72 art::verifier::VerifierDeps::MaybeRecordFieldResolution(art::DexFile const&, unsigned int, art::ArtField*) 0x0055ef0c 188 art::verifier::VerifierDeps::MaybeRecordVerificationStatus(art::DexFile const&, art::dex::ClassDef const&, art::verifier::FailureKind) 0x00448988 432 art::ElfOatFile::InitializeFromElfFile(int, art::ElfFile*, art::VdexFile*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x005204e4 124 art::VdexFile::GetNextDexFileData(unsigned char const*) const 0x0051f990 12 art::VdexFile::DexSectionHeader::DexSectionHeader(unsigned int, unsigned int, unsigned int) 0x0055c234 324 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, bool) 0x005647ac 2792 art::verifier::VerifierDeps::VerifyMethods(art::Handle<art::mirror::ClassLoader>, art::DexFile const&, std::__1::set<art::verifier::VerifierDeps::MethodResolution, std::__1::less<art::verifier::VerifierDeps::MethodResolution>, std::__1::allocator<art::verifier::VerifierDeps::MethodResolution> > const&, art::Thread*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x001857b4 20 art::ClassLinker::CreatePathClassLoader(art::Thread*, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x0055cc20 88 art::verifier::VerifierDeps::GetDexFileDeps(art::DexFile const&) 0x0051f94c 68 art::VdexFile::VerifierDepsHeader::VerifierDepsHeader(unsigned int, unsigned int, bool, unsigned int, unsigned int) 0x003f23dc 152 art::mirror::Class::FindTypeIndexInOtherDexFile(art::DexFile const&) 0x00450c4c 8 art::OatFileAssistant::OdexFileStatus() 0x0055f130 88 art::verifier::VerifierDeps::MaybeRecordAssignability(art::DexFile const&, art::ObjPtr<art::mirror::Class>, art::ObjPtr<art::mirror::Class>, bool, bool) 0x00457138 1916 art::OatFileManager::RunBackgroundVerification(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, _jobject*, char const*) 0x00523154 124 _ZN3art8verifier14MethodVerifier12VerifyMethodEPNS_6ThreadEjPKNS_7DexFileENS_6HandleINS_6mirror8DexCacheEEENS7_INS8_11ClassLoaderEEERKNS_3dex8ClassDefEPKNSD_8CodeItemEPNS_9ArtMethodEjPNS_17CompilerCallbacksEbNS0_15HardFailLogModeEbjPNSt3__112basic_string 0x0015ecf0 76 art::ClassLinker::FindDexCacheDataLocked(art::DexFile const&) 0x0055e258 512 art::verifier::VerifierDeps::AddMethodResolution(art::DexFile const&, unsigned int, art::ArtMethod*) 0x0044acc4 260 art::OatDexFile::OatDexFile(art::TypeLookupTable&&) 0x0055f0e8 72 art::verifier::VerifierDeps::MaybeRecordMethodResolution(art::DexFile const&, unsigned int, art::ArtMethod*) 0x0055c4c0 8 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x0029455c 392 art::hiddenapi::InitializeDexFileDomain(art::DexFile const&, art::ObjPtr<art::mirror::ClassLoader>) 0x0044ae1c 12 art::OatDexFile::FileSize() const 0x0019595c 268 art::ClassLoaderContext::CheckDexFilesOpened(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const 0x003376f0 168 art::jit::Jit::RegisterDexFiles(std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > > const&, art::ObjPtr<art::mirror::ClassLoader>) 0x0055ea88 976 art::verifier::VerifierDeps::AddAssignability(art::DexFile const&, art::ObjPtr<art::mirror::Class>, art::ObjPtr<art::mirror::Class>, bool, bool) 0x001d7e20 656 art::annotations::FieldIsReachabilitySensitive(art::DexFile const&, art::dex::ClassDef const&, unsigned int) 0x0055ce38 2764 art::verifier::VerifierDeps::GetIdFromString(art::DexFile const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x00524a3c 536 art::verifier::MethodVerifier::VerifyMethodAndDump(art::Thread*, art::VariableIndentationOutputStream*, unsigned int, art::DexFile const*, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>, art::dex::ClassDef const&, art::dex::CodeItem const*, art::ArtMethod*, unsigned int, unsigned int) 0x00560738 2448 art::verifier::VerifierDeps::DecodeDexFileDeps(art::verifier::VerifierDeps::DexFileDeps&, unsigned char const**, unsigned char const*) 0x00451908 784 art::OatFileAssistant::AnonymousDexVdexLocation(std::__1::vector<art::DexFile::Header const*, std::__1::allocator<art::DexFile::Header const*> > const&, art::InstructionSet, unsigned int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0055daec 192 art::verifier::VerifierDeps::GetFieldDeclaringClassStringId(art::DexFile const&, unsigned int, art::ArtField*) 0x0044aa08 588 art::OatDexFile::OatDexFile(art::OatFile const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned char const*, unsigned char const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, art::LengthPrefixedArray<art::IndexBssMappingEntry> const*, unsigned int const*, art::DexLayoutSections const*) 0x0055cc78 88 art::verifier::VerifierDeps::GetDexFileDeps(art::DexFile const&) const 0x00160010 544 art::ClassLinker::OpenImageDexFiles(art::gc::space::ImageSpace*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0055c234 324 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, bool) 0x001843a0 3512 art::ClassLinker::CreateWellKnownClassLoader(art::Thread*, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::Handle<art::mirror::Class>, art::Handle<art::mirror::ClassLoader>, art::Handle<art::mirror::ObjectArray<art::mirror::ClassLoader> >) 0x00331078 476 art::AddNativeDebugInfoForDex(art::Thread*, art::DexFile const*) 0x0044bc54 136 art::OatDexFile::FindClassDef(art::DexFile const&, char const*, unsigned long) 0x00197750 460 art::ClassLoaderContext::FlattenOpenedDexFiles() const 0x00565558 112 art::verifier::VerifierDeps::IsInDexFiles(char const*, unsigned long, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::DexFile const**) const 0x0051fc54 1496 art::VdexFile::OpenAtAddress(unsigned char*, unsigned long, bool, int, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x005cda18 8 art::WellKnownClasses::dalvik_system_DexFile_cookie 0x00563224 1444 art::verifier::VerifierDeps::VerifyClasses(art::Handle<art::mirror::ClassLoader>, art::DexFile const&, std::__1::set<art::verifier::VerifierDeps::ClassResolution, std::__1::less<art::verifier::VerifierDeps::ClassResolution>, std::__1::allocator<art::verifier::VerifierDeps::ClassResolution> > const&, art::Thread*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x0015e604 144 art::ClassLinker::AddExtraBootDexFiles(art::Thread*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >&&) 0x0051f99c 696 art::VdexFile::OpenAtAddress(unsigned char*, unsigned long, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x00445c7c 616 art::OatFileBase::Setup(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x0044d068 188 art::OatDexFile::AssertAotCompiler() 0x0044adc8 84 art::OatDexFile::~OatDexFile() 0x00520b64 24 art::VdexFile::GetQuickenInfoOffsetTable(art::DexFile const&, art::ArrayRef<unsigned char const> const&) const 0x0044bcdc 252 art::OatDexFile::MadviseDexFile(art::DexFile const&, art::MadviseState) 0x00443e4c 8 art::OatHeader::SetOatDexFilesOffset(unsigned int) 0x001d9bc4 1324 art::annotations::GetLineNumFromPC(art::DexFile const*, art::ArtMethod*, unsigned int) 0x00448fb8 172 art::OatFile::OpenWithElfFile(int, art::ElfFile*, art::VdexFile*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x003f50c0 2144 _ZN3art6mirror8DexCache4InitEPKNS_7DexFileENS_6ObjPtrINS0_6StringEEEPNSt3__16atomicINS0_12DexCachePairIS6_EEEEjPNS9_INSA_INS0_5ClassEEEEEjPNS9_INS0_18NativeDexCachePairINS_9ArtMethodEEEEEjPNS9_INSI_INS_8ArtFieldEEEEEjPNS9_INSA_INS0_10MethodTypeEEEEEjPNS_ 0x0051f990 12 art::VdexFile::DexSectionHeader::DexSectionHeader(unsigned int, unsigned int, unsigned int) 0x0044bc28 44 art::OatDexFile::GetQuickenedInfoOf(art::DexFile const&, unsigned int) const 0x00168fb8 1656 art::ClassLinker::LoadClass(art::Thread*, art::DexFile const&, art::dex::ClassDef const&, art::Handle<art::mirror::Class>) 0x00443e44 8 art::OatHeader::GetOatDexFilesOffset() const 0x0051f8d0 24 art::VdexFile::VerifierDepsHeader::IsMagicValid() const 0x005203dc 264 art::VdexFile::Unquicken(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, bool) const 0x0052157c 704 art::VdexFile::MatchesBootClassPathChecksums() const 0x00562b1c 1800 art::verifier::VerifierDeps::VerifyAssignability(art::Handle<art::mirror::ClassLoader>, art::DexFile const&, std::__1::set<art::verifier::VerifierDeps::TypeAssignability, std::__1::less<art::verifier::VerifierDeps::TypeAssignability>, std::__1::allocator<art::verifier::VerifierDeps::TypeAssignability> > const&, bool, art::Thread*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x001d80b0 668 art::annotations::MethodIsReachabilitySensitive(art::DexFile const&, art::dex::ClassDef const&, unsigned int) 0x0044ac54 112 art::OatDexFile::OatDexFile(art::OatFile const*, art::DexFile const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x0055c4c0 8 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x001681bc 1660 art::ClassLinker::RegisterDexFile(art::DexFile const&, art::ObjPtr<art::mirror::ClassLoader>) 0x00167e5c 864 art::ClassLinker::SizeOfClassWithoutEmbeddedTables(art::DexFile const&, art::dex::ClassDef const&) 0x0052183c 612 art::VdexFile::MatchesClassLoaderContext(art::ClassLoaderContext const&) const 0x00270a98 540 art::gc::space::ImageSpace::GetBootClassPathChecksums(std::__1::vector<art::gc::space::ImageSpace*, std::__1::allocator<art::gc::space::ImageSpace*> > const&, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&) 0x0044acc4 260 art::OatDexFile::OatDexFile(art::TypeLookupTable&&) 0x00520df0 856 art::VdexFile::WriteToDisk(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::verifier::VerifierDeps const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x00185824 176 art::ClassLinker::InsertDexFileInToClassLoader(art::ObjPtr<art::mirror::Object>, art::ObjPtr<art::mirror::ClassLoader>) 0x0044adc8 84 art::OatDexFile::~OatDexFile() 0x0055efc8 140 art::verifier::VerifierDeps::RecordClassVerified(art::DexFile const&, art::dex::ClassDef const&) 0x005cda20 8 art::WellKnownClasses::dalvik_system_DexFile_fileName 0x00520560 1512 art::VdexFile::UnquickenDexFile(art::DexFile const&, unsigned char const*, bool) const 0x0044e3bc 1472 art::OatFileAssistant::DexLocationToOdexFilename(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, art::InstructionSet, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051f94c 68 art::VdexFile::VerifierDepsHeader::VerifierDepsHeader(unsigned int, unsigned int, bool, unsigned int, unsigned int) 0x005610c8 504 art::verifier::VerifierDeps::VerifierDeps(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::ArrayRef<unsigned char const>) 0x003f4e10 44 art::mirror::ClassExt::SetOriginalDexFile(art::ObjPtr<art::mirror::Object>) 0x0055ee58 180 art::verifier::VerifierDeps::MaybeRecordClassRedefinition(art::DexFile const&, art::dex::ClassDef const&) 0x0016c2fc 1100 art::ClassLinker::FindDexCache(art::Thread*, art::DexFile const&) 0x0055dbac 644 art::verifier::VerifierDeps::GetStringFromId(art::DexFile const&, art::dex::StringIndex) const 0x005655c8 1420 art::verifier::VerifierDeps::VerifyInternalClasses(art::DexFile const&, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::vector<bool, std::__1::allocator<bool> > const&, std::__1::vector<bool, std::__1::allocator<bool> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x003f4e48 8 art::mirror::ClassExt::SetPreRedefineDexFile(art::DexFile const*) 0x004509ac 36 art::OatFileAssistant::HasOriginalDexFiles() 0x00520b7c 12 art::VdexFile::UnquickenDexFile(art::DexFile const&, art::DexFile const&, bool) const 0x00449c54 3508 art::OatFile::GetOatDexFile(char const*, unsigned int const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const 0x005cd7d0 8 art::WellKnownClasses::dalvik_system_DexFile 0x0015c82c 6844 _ZN3art11ClassLinker13AddImageSpaceEPNS_2gc5space10ImageSpaceENS_6HandleINS_6mirror11ClassLoaderEEEP13_jobjectArrayPKcPNSt3__16vectorINSD_10unique_ptrIKNS_7DexFileENSD_14default_deleteISH_EEEENSD_9allocatorISK_EEEEPNSD_12basic_stringIcNSD_11char_traitsIc 0x00450448 388 art::OatFileAssistant::LoadDexFiles(art::OatFile const&, char const*) 0x00449950 272 art::OatFile::OpenFromVdex(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::unique_ptr<art::VdexFile, std::__1::default_delete<art::VdexFile> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x00450c5c 540 art::OatFileAssistant::DexChecksumUpToDate(art::VdexFile const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0015c82c 6844 _ZN3art11ClassLinker13AddImageSpaceEPNS_2gc5space10ImageSpaceENS_6HandleINS_6mirror11ClassLoaderEEEP13_jobjectArrayPKcPNSt3__16vectorINSD_10unique_ptrIKNS_7DexFileENSD_14default_deleteISH_EEEENSD_9allocatorISK_EEEEPNSD_12basic_stringIcNSD_11char_traitsIc 0x003f50c0 2144 _ZN3art6mirror8DexCache4InitEPKNS_7DexFileENS_6ObjPtrINS0_6StringEEEPNSt3__16atomicINS0_12DexCachePairIS6_EEEEjPNS9_INSA_INS0_5ClassEEEEEjPNS9_INS0_18NativeDexCachePairINS_9ArtMethodEEEEEjPNS9_INSI_INS_8ArtFieldEEEEEjPNS9_INSA_INS0_10MethodTypeEEEEEjPNS_ 0x00521ec8 2436 _ZN3art8verifier13ClassVerifier11VerifyClassEPNS_6ThreadEPKNS_7DexFileENS_6HandleINS_6mirror8DexCacheEEENS7_INS8_11ClassLoaderEEERKNS_3dex8ClassDefEPNS_17CompilerCallbacksEbNS0_15HardFailLogModeEjPNSt3__112basic_stringIcNSK_11char_traitsIcEENSK_9allocato 0x00523154 124 _ZN3art8verifier14MethodVerifier12VerifyMethodEPNS_6ThreadEjPKNS_7DexFileENS_6HandleINS_6mirror8DexCacheEEENS7_INS8_11ClassLoaderEEERKNS_3dex8ClassDefEPKNSD_8CodeItemEPNS_9ArtMethodEjPNS_17CompilerCallbacksEbNS0_15HardFailLogModeEbjPNSt3__112basic_string [0x0012d000]> iEq~+vdex 0x0051f934 24 art::VdexFile::VerifierDepsHeader::HasDexSection() const 0x0051f8e8 24 art::VdexFile::VerifierDepsHeader::IsVerifierDepsVersionValid() const 0x0044aef4 16 art::OatDexFile::IsBackedByVdexOnly() const 0x00520b48 8 art::VdexFile::GetQuickeningInfoTableOffset(unsigned char const*) const 0x0052022c 432 art::VdexFile::OpenAllDexFiles(std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051f900 52 art::VdexFile::VerifierDepsHeader::IsDexSectionVersionValid() const 0x00520b88 616 art::VdexFile::GetQuickenedInfoOf(art::DexFile const&, unsigned int) const 0x00520b50 20 art::VdexFile::GetQuickenInfoOffsetTable(unsigned char const*, art::ArrayRef<unsigned char const> const&) const 0x005213d8 420 art::VdexFile::MatchesDexFileChecksums(std::__1::vector<art::DexFile::Header const*, std::__1::allocator<art::DexFile::Header const*> > const&) const 0x00448988 432 art::ElfOatFile::InitializeFromElfFile(int, art::ElfFile*, art::VdexFile*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x005204e4 124 art::VdexFile::GetNextDexFileData(unsigned char const*) const 0x0051f990 12 art::VdexFile::DexSectionHeader::DexSectionHeader(unsigned int, unsigned int, unsigned int) 0x004455a4 412 art::OatFileBase::LoadVdex(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051f94c 68 art::VdexFile::VerifierDepsHeader::VerifierDepsHeader(unsigned int, unsigned int, bool, unsigned int, unsigned int) 0x00451908 784 art::OatFileAssistant::AnonymousDexVdexLocation(std::__1::vector<art::DexFile::Header const*, std::__1::allocator<art::DexFile::Header const*> > const&, art::InstructionSet, unsigned int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x00445444 352 art::OatFileBase::LoadVdex(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051fc54 1496 art::VdexFile::OpenAtAddress(unsigned char*, unsigned long, bool, int, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051f99c 696 art::VdexFile::OpenAtAddress(unsigned char*, unsigned long, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x00520b64 24 art::VdexFile::GetQuickenInfoOffsetTable(art::DexFile const&, art::ArrayRef<unsigned char const> const&) const 0x00448fb8 172 art::OatFile::OpenWithElfFile(int, art::ElfFile*, art::VdexFile*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x0051f990 12 art::VdexFile::DexSectionHeader::DexSectionHeader(unsigned int, unsigned int, unsigned int) 0x0051f8d0 24 art::VdexFile::VerifierDepsHeader::IsMagicValid() const 0x005203dc 264 art::VdexFile::Unquicken(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, bool) const 0x00451c18 240 art::OatFileAssistant::IsAnonymousVdexBasename(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x0052157c 704 art::VdexFile::MatchesBootClassPathChecksums() const 0x0052183c 612 art::VdexFile::MatchesClassLoaderContext(art::ClassLoaderContext const&) const 0x00520df0 856 art::VdexFile::WriteToDisk(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, art::verifier::VerifierDeps const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) 0x00520560 1512 art::VdexFile::UnquickenDexFile(art::DexFile const&, unsigned char const*, bool) const 0x0051f94c 68 art::VdexFile::VerifierDepsHeader::VerifierDepsHeader(unsigned int, unsigned int, bool, unsigned int, unsigned int) 0x00520b7c 12 art::VdexFile::UnquickenDexFile(art::DexFile const&, art::DexFile const&, bool) const 0x00449950 272 art::OatFile::OpenFromVdex(std::__1::vector<art::DexFile const*, std::__1::allocator<art::DexFile const*> > const&, std::__1::unique_ptr<art::VdexFile, std::__1::default_delete<art::VdexFile> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 0x00450c5c 540 art::OatFileAssistant::DexChecksumUpToDate(art::VdexFile const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)
https://android.googlesource.com/platform/art/+/master/runtime/vdex_file.h#114
$ r2 libart.so [0x0012d000]> iiq~+opencom,openme,dexfile sym.imp.art::DexFile::FindClassDef(art::dex::TypeIndex) const sym.imp.art::DexFile::FindTypeId(char const*) const sym.imp.art::DexFile::FindMethodId(art::dex::TypeId const&, art::dex::StringId const&, art::dex::ProtoId const&) const sym.imp.art::DexFile::PrettyMethod(unsigned int, bool) const sym.imp.art::EncodedArrayValueIterator::EncodedArrayValueIterator(art::DexFile const&, unsigned char const*) sym.imp.art::DexFile::PrettyType(art::dex::TypeIndex) const sym.imp.art::ArtDexFileLoader::Open(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const sym.imp.art::ArtDexFileLoader::Open(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const sym.imp.art::DexFileLoader::GetDexCanonicalLocation(char const*) sym.imp.vtable for art::ArtDexFileLoader sym.imp.art::Instruction::DumpString(art::DexFile const*) const sym.imp.art::DexFile::FindCodeItemOffset(art::dex::ClassDef const&, unsigned int) const sym.imp.art::DexFile::ReadSignedInt(unsigned char const*, int) sym.imp.art::DexFile::ReadUnsignedInt(unsigned char const*, int, bool) sym.imp.art::DexFile::ReadSignedLong(unsigned char const*, int) sym.imp.art::DexFile::ReadUnsignedLong(unsigned char const*, int, bool) sym.imp.art::DexFileLoader::IsMultiDexLocation(char const*) sym.imp.art::ArtDexFileLoader::GetMultiDexChecksums(char const*, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int, bool*) const sym.imp.art::DexFileLoader::GetMultiDexLocation(unsigned long, char const*) sym.imp.art::TypeLookupTable::Create(art::DexFile const&) sym.imp.art::ProfileCompilationInfo::GetClassesAndMethods(art::DexFile const&, std::__1::set<art::dex::TypeIndex, std::__1::less<art::dex::TypeIndex>, std::__1::allocator<art::dex::TypeIndex> >*, std::__1::set<unsigned short, std::__1::less<unsigned short>, std::__1::allocator<unsigned short> >*, std::__1::set<unsigned short, std::__1::less<unsigned short>, std::__1::allocator<unsigned short> >*, std::__1::set<unsigned short, std::__1::less<unsigned short>, std::__1::allocator<unsigned short> >*) const sym.imp.art::ProfileCompilationInfo::GetProfileDexFileKey(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) sym.imp.art::ProfileCompilationInfo::DexFileData::AddMethod(art::ProfileCompilationInfo::MethodHotness::Flag, unsigned long) sym.imp.art::ProfileCompilationInfo::GetOrAddDexFileData(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned int) sym.imp.art::GetVdexFilename(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) sym.imp.art::ArtDexFileLoader::OpenZip(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::vector<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> >, std::__1::allocator<std::__1::unique_ptr<art::DexFile const, std::__1::default_delete<art::DexFile const> > > >*) const sym.imp.art::DexFileLoader::IsMagicValid(unsigned char const*) sym.imp.art::DexFileLoader::IsVersionAndMagicValid(unsigned char const*) sym.imp.art::CompactDexFile::IsMagicValid(unsigned char const*) sym.imp.art::ArtDexFileLoader::Open(unsigned char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, art::OatDexFile const*, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::unique_ptr<art::DexFileContainer, std::__1::default_delete<art::DexFileContainer> >) const sym.imp.art::DexLayoutSections::Madvise(art::DexFile const*, art::MadviseState) const sym.imp.art::dex::tracking::RegisterDexFile(art::DexFile const*) sym.imp.art::DexFile::DisableWrite() const sym.imp.art::ArtDexFileLoader::Open(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, art::MemMap&&, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const sym.imp.art::DexFileLoader::OpenWithDataSection(unsigned char const*, unsigned long, unsigned char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, art::OatDexFile const*, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const sym.imp.art::DexFile::GetProtoIndexForCallSite(unsigned int) const sym.imp.art::DexFile::FindTryItem(art::dex::TryItem const*, unsigned int, unsigned int) sym.imp.art::DexFile::FindStringId(char const*) const
The text was updated successfully, but these errors were encountered:
No branches or pull requests
ART's library locations:
sargo:/ # find / 2>/dev/null|grep libart.so /apex/com.android.runtime/lib64/libart.so /apex/com.android.runtime/lib/libart.so /apex/com.android.runtime@1/lib64/libart.so /apex/com.android.runtime@1/lib/libart.so /system/apex/com.android.runtime.release/lib64/libart.so /system/apex/com.android.runtime.release/lib/libart.so
Radare2
Exports
https://android.googlesource.com/platform/art/+/master/runtime/vdex_file.h#114
Imports
The text was updated successfully, but these errors were encountered: