MCPcopy Create free account

hub / github.com/baidu/titan-hotfix / functions

Functions1,521 in github.com/baidu/titan-hotfix

↓ 1 callersMethodfilterOverrideableVirtualMethod
(DexMethodNode dmn)
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchGenesisClassHierarchy.java:256
↓ 1 callersMethodfilterOverrideableVirtualMethod
(DexMethodNode dmn)
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchBuddyClassHierarchy.java:496
↓ 1 callersMethodfilterOverrideableVirtualMethod
(DexMethodNode dmn)
titan-core/src/main/java/com/baidu/titan/core/patch/full/ClassBuddyCreator.java:47
↓ 1 callersMethodfindApkSignatureSchemeV2Block
(ByteBuffer apkSigningBlock)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:978
↓ 1 callersMethodfindApkSigningBlock
( RandomAccessFile apk, long centralDirOffset)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:925
↓ 1 callersMethodfindThisInitInvokeIns
(DexCodeNode codeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:1040
↓ 1 callersMethodfindThisInitInvokeIns
(DexCodeNode codeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:849
↓ 1 callersMethodfindZipEndOfCentralDirectoryRecord
Returns the ZIP End of Central Directory record of the provided ZIP file. @return contents of the ZIP End of Central Directory record and the record'
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ZipUtils.java:54
↓ 1 callersMethodfinishInstanceInitMethods
(DexClassVisitor interceptorClassVisitor)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:288
↓ 1 callersMethodfinishNormalMethods
(DexClassVisitor interceptorClassVisitor)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:257
↓ 1 callersMethodfinishStaticInitMethod
(DexClassVisitor interceptorClassVisitor)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:284
↓ 1 callersMethodgenerate
(DexClassNode newOrgClassNode, LightPatchClassPools classPools,
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightAddedClassGenerator.java:85
↓ 1 callersMethodgenerate
(LightPatchClassPools classPools, TitanDexItemFactory dexItemFactory)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:62
↓ 1 callersMethodgenerate
生成Dex Light Patch,生成过程中将相关类放到具体的Class Pool中
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightDexPatchGenerator.java:65
↓ 1 callersMethodgenerate
(LightPatchClassPools classPools, TitanDexItemFactory dexItemFactory)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:71
↓ 1 callersMethodgenerate
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightChangedClassGenerator.java:114
↓ 1 callersMethodgenerateApplyCode
生成apply方法中的指令 @param applyMethodVisitor method visitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:123
↓ 1 callersMethodgenerateApplyInTimeCode
生成apply方法中的指令 @param applyInTimeMethodVisitor method visitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:171
↓ 1 callersMethodgenerateApplyInTimeMethod
生成applyInTime()方法 @param loaderClassVisitor patchloader类的class visitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:149
↓ 1 callersMethodgenerateApplyMethod
生成apply()方法 @param loaderClassVisitor patchloader类的class visitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:100
↓ 1 callersMethodgenerateClinitInterceptor
( ApplicationDexPool interceptorPool, TitanDexItemFactory factory)
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchLoaderGenerator.java:98
↓ 1 callersMethodgenerateClinitInterceptor
( LightPatchClassPools classPools, TitanDexItemFactory factory)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:189
↓ 1 callersMethodgenerateCommonMethodInterceptor
invoke-common(int methodid, Object thisObj, Object[] args) @param interceptInvokeKind @param methods @param interceptorClassNode @param interceptorCl
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:600
↓ 1 callersMethodgenerateForInit
(DexClassNode interceptorClassNode, DexClassVisitor class
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/InterceptorGenerator.java:247
↓ 1 callersMethodgenerateForInitBody
(DexClassNode interceptorClassNode, DexClassVisitor classVisitor, InvokeMet
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/DirectComponentInterceptorGenerator.java:215
↓ 1 callersMethodgenerateForInitBodyMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/BuddyInitMethodSplitter.java:157
↓ 1 callersMethodgenerateForInitMethod
(DexClassNode classNode, DexClassVisitor classVisitor, DexNamedProtoNo
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/BuddyGenerator.java:115
↓ 1 callersMethodgenerateForInvokeCommon
(DexClassNode interceptorClassNode, DexClassVisitor classVisitor,
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/InterceptorGenerator.java:297
↓ 1 callersMethodgenerateForInvokeInit
(DexClassNode interceptorClassNode, DexClassVisitor classVisitor,
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/InterceptorGenerator.java:289
↓ 1 callersMethodgenerateForInvokeSpecial
(DexClassNode interceptorClassNode, DexClassVisitor classVisitor,
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/InterceptorGenerator.java:293
↓ 1 callersMethodgenerateForOneMethod
(DexClassNode classNode, DexClassVisitor classVisitor, DexNamedProtoNo
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/BuddyGenerator.java:110
↓ 1 callersMethodgenerateForOneMethod
(DexClassNode classNode, DexClassVisitor classVisitor, DexNamedProtoNo
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/ChangedClassGenerator.java:79
↓ 1 callersMethodgenerateForPreInitMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/BuddyInitMethodSplitter.java:89
↓ 1 callersMethodgenerateForUnInit
(DexClassNode interceptorClassNode, DexClassVisitor classVisitor, InvokeMet
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/DirectComponentInterceptorGenerator.java:75
↓ 1 callersMethodgenerateGenesisField
(DexClassNode classNode, DexClassVisitor classVisitor)
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/BuddyGenerator.java:100
↓ 1 callersMethodgenerateInitBodyMethodInterceptor
(List<DispatchMethodInfo> methods, DexClassNode interceptor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:986
↓ 1 callersMethodgenerateInitMethod
(TitanDexItemFactory factory, DexClassNode classClinitInterceptor, DexClassVisitor classClinitInterceptorVisit
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:445
↓ 1 callersMethodgenerateInitMethod
生成<init>方法 @param interceptorClassNode 要生成<init>方法的interceptor class node @param interceptorClassVisitor interceptor class visitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:340
↓ 1 callersMethodgenerateInvokeClinitCode
类新增了<clinit>方法,需要在patchloader中调用 指令伪代码如下: const v1, 0 new-array v0, v1, Ljava.lang.Object; invoke-static v0, $chg->$staticInit([Ljava.lang.Object;)V
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:350
↓ 1 callersMethodgenerateInvokeClinitMethod
(LightPatchClassPools classPools, TitanDexItemFactory factory,
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:214
↓ 1 callersMethodgenerateInvokePostClinitMethod
调用对应chg类中的$staticInit方法 @param classPools @param factory @return
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:496
↓ 1 callersMethodgenerateLazyLoadApplyCode
对需要lazy load的类,生成lazy load指令。原来有<clinit>方法的类被认为可进行lazy load,在类初始化调用<clinit>时, 从ClassClinitInterceptorStorage.$ic中初始化对应类的$iter实例并保存到对应类的$ic字段中 该方法加入的指令
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:204
↓ 1 callersMethodgenerateLoader
( ApplicationDexPool interceptorPool, ApplicationDexPool clinitInterceptorPool,
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchLoaderGenerator.java:349
↓ 1 callersMethodgenerateLoaderInitMethod
(DexClassNode patchLoaderClass, DexClassVisitor loaderClassVi
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchLoaderGenerator.java:311
↓ 1 callersMethodgenerateLoaderInitMethod
生成patchloader类的<init>方法 @param patchLoaderClass patchloader类的classnode @param loaderClassVisitor patchloader class visitor @param factory dex item fa
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:389
↓ 1 callersMethodgenerateSpecialMethodInterceptor
invoke-special(int methodid, Object thisObj, ...) @param invokeKind @param methods @param interceptorClassNode @param interceptorClassVisitor
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:443
↓ 1 callersMethodgenerateUninitMethodInterceptor
(List<DispatchMethodInfo> methods, DexClassNode interceptorCl
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:813
↓ 1 callersMethodgetAssetFileContent
(Context c, String name)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/internal/util/Files.java:35
↓ 1 callersMethodgetBirthYear
()
titan-sample/lib-titan-test/src/overlay/anonymous/java/com/baidu/titan/sample/titantest/Person.java:38
↓ 1 callersMethodgetBirthYear
()
titan-sample/lib-titan-test/src/overlay/serializable/java/com/baidu/titan/sample/titantest/Person.java:38
↓ 1 callersMethodgetCentralDirOffset
(ByteBuffer eocd, long eocdOffset)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:645
↓ 1 callersMethodgetChangedType
(DexType type, DexItemFactory factory)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightChangedClassGenerator.java:459
↓ 1 callersMethodgetChunkCount
(long inputSizeBytes)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:663
↓ 1 callersMethodgetClassInfo
获取patch中被修复的类信息 目前分成两部分,一部分是被懒加载的类的typeDesc,一部分是需要立即加载的类的className @return patch中被修复的类信息
titan-core/src/main/java/com/baidu/titan/core/patch/light/LightPatch.java:494
↓ 1 callersMethodgetClassMapType
(DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/patch/light/plum/AnonymousClassDiffMarker.java:428
↓ 1 callersMethodgetClassPatchFilter
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:291
↓ 1 callersMethodgetClassRenameType
(DexItemFactory dexItemFactory, DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/patch/light/plum/AnonymousClassDiffMarker.java:455
↓ 1 callersMethodgetDexContentsFromApk
(File apkFile)
titan-core/src/main/java/com/baidu/titan/core/util/ZipUtil.java:38
↓ 1 callersMethodgetDexCount
获取patch包中的dex个数 @param patchFile patch包 @return patch包中的Dex个数
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchManagerService.java:517
↓ 1 callersMethodgetDexCount
读取dexCount @return dex count
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchInstallInfo.java:350
↓ 1 callersMethodgetElementOf
(List<T> list, T element)
titan-core/src/main/java/com/baidu/titan/core/util/ListDiffer.java:111
↓ 1 callersMethodgetEocd
Returns the ZIP End of Central Directory (EoCD) and its offset in the file. @throws IOException if an I/O error occurs while reading the file. @throw
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:634
↓ 1 callersMethodgetExtraLogger
extra logger getter @return extra logger
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:312
↓ 1 callersMethodgetField
( Object targetObject, Class targetClass, String fieldName)
titan-sdk/runtime/src/main/java/com/baidu/titan/sdk/runtime/TitanRuntime.java:147
↓ 1 callersMethodgetFieldByName
(Class<?> aClass, String name)
titan-sdk/runtime/src/main/java/com/baidu/titan/sdk/runtime/TitanRuntime.java:252
↓ 1 callersMethodgetFieldHolderField
(DexType type)
titan-core/src/main/java/com/baidu/titan/core/TitanDexItemFactory.java:482
↓ 1 callersMethodgetFlag
(int type)
titan-core/src/main/java/com/baidu/titan/core/component/AndroidComponentFlag.java:57
↓ 1 callersMethodgetId
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchInstallInfo.java:61
↓ 1 callersMethodgetInitBodyMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/BuddyInitMethodSplitter.java:75
↓ 1 callersMethodgetInitBodyMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:117
↓ 1 callersMethodgetInitBodyMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:138
↓ 1 callersMethodgetInstance
获得类的实例对象 @param cls Class @return 类的实例对象 @throws IllegalAccessException @throws InstantiationException
titan-sample/lib-titan-test/src/overlay/invokespecialmethod/java/com/baidu/titan/sample/titantest/InvokeSpecialMethodTester.java:73
↓ 1 callersMethodgetInstance
获取单例对象方法 @return 单例对象
titan-sample/lib-titan-test/src/overlay/anonymous/java/com/baidu/titan/sample/titantest/AnonymousTester.java:35
↓ 1 callersMethodgetInstance
获得类的实例对象 @param cls Class @return 类的实例对象 @throws IllegalAccessException @throws InstantiationException
titan-sample/lib-titan-test/src/overlay/nopatch/java/com/baidu/titan/sample/titantest/InvokeSpecialMethodTester.java:73
↓ 1 callersMethodgetInstance
获取单例对象方法 @return 单例对象
titan-sample/lib-titan-test/src/overlay/nopatch/java/com/baidu/titan/sample/titantest/AnonymousTester.java:34
↓ 1 callersMethodgetInterceptInvokeSpecialPars
()
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentMain.java:166
↓ 1 callersMethodgetLibraryClassPool
()
titan-core/src/main/java/com/baidu/titan/core/pool/ApplicationDexPool.java:81
↓ 1 callersMethodgetLoadPolicy
获取patch加载策略 @return patch加载策略
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:332
↓ 1 callersMethodgetMethodNode
(DexNamedProtoNode methodKey, DexClassNode classNode)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightChangedClassGenerator.java:239
↓ 1 callersMethodgetNewApkFile
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:275
↓ 1 callersMethodgetOldApkFile
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:206
↓ 1 callersMethodgetOldOrgDexs
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:184
↓ 1 callersMethodgetOuterClassNode
(ApplicationDexPool classPool, TitanDexItemFactory itemFacto
titan-core/src/main/java/com/baidu/titan/core/patch/light/plum/AnonymousClassMarker.java:104
↓ 1 callersMethodgetPatchPolicy
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:106
↓ 1 callersMethodgetPatchText
获取toast 中需要展示的文字,同时成为了测试其它场景的入口 @param context Context @return toast 中需要展示的文字
titan-sample/lib-titan-test/src/overlay/nopatch/java/com/baidu/titan/sample/titantest/TitanTestHelper.java:55
↓ 1 callersMethodgetPreInitMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/BuddyInitMethodSplitter.java:71
↓ 1 callersMethodgetPreInitMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:113
↓ 1 callersMethodgetProcessNameFromAm
获得当前进程的进程名 @param context context @return 当前进程的进程名
titan-sample/app/src/main/java/com/baidu/titan/sample/TitanSampleApplication.java:82
↓ 1 callersMethodgetProcessNameFromFile
从文件中读取进程名,经过测试发现更快一些 @return 进程名
titan-sample/app/src/main/java/com/baidu/titan/sample/TitanSampleApplication.java:102
↓ 1 callersMethodgetPublicKey
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:1302
↓ 1 callersMethodgetRewriteClass
(DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ClassPoolDiffMarker.java:340
↓ 1 callersMethodgetSignatureAlgorithmJcaKeyAlgorithm
(int sigAlgorithm)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:770
↓ 1 callersMethodgetSignatureAlgorithmJcaSignatureAlgorithm
(int sigAlgorithm)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:789
↓ 1 callersMethodgetSignatureVerifier
根据android build version获取签名校验器 @param context Context @param installInfo patch安装信息 @return 签名校验器
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/loader/LoaderManager.java:451
↓ 1 callersMethodgetSpecialInterceptParas
()
titan-core/src/main/java/com/baidu/titan/core/patch/PatchArgument.java:93
↓ 1 callersFunctiongetStudents
titan-sample/lib-titan-test/src/overlay/nopatch/java/com/baidu/titan/sample/titantest/Student.kt:16
↓ 1 callersFunctiongetStudents
titan-sample/lib-titan-test/src/overlay/kotlinlambda/java/com/baidu/titan/sample/titantest/Student.kt:16
↓ 1 callersMethodgetTempBaseDir
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/TitanPaths.java:42
↓ 1 callersMethodgetUnInitMethod
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:134
↓ 1 callersMethodgetUnsignedInt16
(ByteBuffer buffer, int offset)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ZipUtils.java:248
← previousnext →401–500 of 1,521, ranked by callers