Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/baidu/titan-hotfix
/ functions
Functions
1,521 in github.com/baidu/titan-hotfix
⨍
Functions
1,521
◇
Types & classes
317
↓ 1 callers
Method
addBuddyObjField
添加BuddyObj字段,用于全量热更新时保存Buddy实例 @param classVisitor @param classNode
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:387
↓ 1 callers
Method
addFieldHolder
(DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/instrument/FieldSupportTransformation.java:45
↓ 1 callers
Method
addInitMethod
(DexNamedProtoNode initMethod)
titan-core/src/main/java/com/baidu/titan/core/patch/full/generator/BuddyGenerator.java:68
↓ 1 callers
Method
addInitMethods
添加与bottomLibraryClass相同的<init>方法,以便Patch中可以根据MethodId选择性的调用任何<init>方法。 @param genesisClassVisitor @param gensisClass
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:246
↓ 1 callers
Method
addInstanceInitMethod
(DexMethodNode methodNode)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:235
↓ 1 callers
Method
addInterceptorField
(DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/instrument/AddInterceptorFieldTransformation.java:46
↓ 1 callers
Method
addNormalMethod
添加一个普通方法 @param methodNode
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:164
↓ 1 callers
Method
addStaticInitMethod
(DexMethodNode methodNode)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:231
↓ 1 callers
Method
addVirtualMethods
添加从Object到bottomLibrary的所有虚方法,以便子类重写的时候,可以实现拦截机制 @param genesisClassVisitor @param gensisClass
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:140
↓ 1 callers
Method
analyze
()
titan-core/src/test/java/com/baidu/titan/core/tests/CodeAnalyzerTest.java:50
↓ 1 callers
Method
analyze
()
titan-core/src/main/java/com/baidu/titan/core/instrument/InitMethodAnalyzer.java:68
↓ 1 callers
Method
apply
应用补丁
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/loader/BaseLoader.java:31
↓ 1 callers
Method
applyInTime
just-in-time策略下应用补丁
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/loader/BaseLoader.java:36
↓ 1 callers
Method
areEqual
(DexType first, DexType second)
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedClassDiffMarker.java:162
↓ 1 callers
Method
areEqual
(T first, T second)
titan-core/src/main/java/com/baidu/titan/core/util/ListDiffer.java:135
↓ 1 callers
Method
buildBuddyClass
@param bottomLibraryClassNode 最下层的系统类 @param topProgramClass 最顶层的程序类 @param factory @param componentBuddyHolder @param componentType 组件类型 @param appPo
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchBuddyClassHierarchy.java:328
↓ 1 callers
Method
buildFirstHalfPreInitCodeNode
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:148
↓ 1 callers
Method
buildFirstHalfUnInitCodeNode
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:168
↓ 1 callers
Method
buildGenesisCallSuperSelectorMethod
(DexClassNode genesisClassNode, DexClassNode superDcn,
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:688
↓ 1 callers
Method
buildGenesisClass
(DexClassNode bottomLibraryClassNode, DexClassNode topProgramClass,
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:933
↓ 1 callers
Method
buildGenesisClassIfNeed
构建Genesis Class Node
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:335
↓ 1 callers
Method
buildInitBodyMethod
@param orgCodeNode @param spliteInfo @return
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:598
↓ 1 callers
Method
buildInitBodyMethod
@param orgCodeNode @param spliteInfo @return
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:597
↓ 1 callers
Method
buildPreInitMethod
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:241
↓ 1 callers
Method
buildSecondHalfInitBodyCodeNode
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:534
↓ 1 callers
Method
buildSecondHalfInitBodyCodeNode
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:529
↓ 1 callers
Method
buildUnInitMethod
(DexCodeNode orgCodeNode, SpliteInfo spliteInfo)
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:227
↓ 1 callers
Method
buildWormHoleMethod
按照JVM Spec,子类的构造函数必须调用直接父类的构造函数。意味着所有的<init>方法初始化必须是按照继承关系逐级的, 不能出现越级初始化。 虫洞 <init>方法存在的目的就是为了遵守JVM Spec,对于继承链上的中间类走虫洞快速方法。 @param dcn @param facto
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:886
↓ 1 callers
Method
canCompare
(T first, T second)
titan-core/src/main/java/com/baidu/titan/core/util/ListDiffer.java:133
↓ 1 callers
Method
checkByteOrderLittleEndian
(ByteBuffer buffer)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:1020
↓ 1 callers
Method
checkIsMainProcess
判断是否是主进程名, processName有可能包含换行等符 @param processName @param mainProcessName @return 如果是返回true
titan-sample/app/src/main/java/com/baidu/titan/sample/TitanSampleApplication.java:133
↓ 1 callers
Method
checkLazyInitable
有interceptor情况下检查是否可以懒加载
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:388
↓ 1 callers
Method
checkLazyInitableIfNoItor
在无interceptor情况下检查是否可以懒加载
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/InterceptorProcessor.java:417
↓ 1 callers
Method
checkRewrite
检查是否需要重写类 @param diffContext DiffContext @param outerDcn 需要检查的类 @return
titan-core/src/main/java/com/baidu/titan/core/patch/light/plum/ClassRewriteChecker.java:48
↓ 1 callers
Method
classPoolVisitEnd
()
titan-core/src/main/java/com/baidu/titan/core/pool/ApplicationDexPool.java:123
↓ 1 callers
Method
clearDiffFlags
清空diff flags @param dcn dexclassnode
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedMethodDiffMarker.java:167
↓ 1 callers
Method
clearDiffFlags
清空diff flags @param dcn dexclassnode
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/RemovedMethodDiffMarker.java:112
↓ 1 callers
Method
clearDiffFlags
清空diff flags @param dcn dexclassnode
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/AddedMethodDiffMarker.java:143
↓ 1 callers
Method
collectVirtualMethodHierarchy
自顶而下的收集所有可重写的虚方法(!package && !final) @param dcn @return
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:404
↓ 1 callers
Method
collectVirtualMethodHierarchy
(DexClassNode dcn)
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchBuddyClassHierarchy.java:452
↓ 1 callers
Method
compareClassAnnotations
(DexClassNode oldClass, DexClassNode newClass)
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedClassDiffMarker.java:173
↓ 1 callers
Method
compareContentDigestAlgorithm
(int digestAlgorithm1, int digestAlgorithm2)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:701
↓ 1 callers
Method
compareFile
比较两个文本内容是否一致
titan-core/src/test/java/com/baidu/titan/core/tests/TestUtil.java:102
↓ 1 callers
Method
compareInterfaces
(DexClassNode oldClass, DexClassNode newClass)
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedClassDiffMarker.java:151
↓ 1 callers
Method
compareSignatureAlgorithm
(int sigAlgorithm1, int sigAlgorithm2)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:695
↓ 1 callers
Method
compareSuperType
(DexClassNode oldClass, DexClassNode newClass)
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedClassDiffMarker.java:144
↓ 1 callers
Method
compatGetBinder
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/sandbox/JobIntentService.java:147
↓ 1 callers
Method
complete
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/sandbox/JobIntentService.java:359
↓ 1 callers
Method
computeContentDigests
( int[] digestAlgorithms, DataSource[] contents)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:517
↓ 1 callers
Method
createFromJson
(String json)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchMetaInfo.java:121
↓ 1 callers
Method
createFromJson
从json数据中读取数据并创建PatchClassInfo实例 @param json 包含类信息的json数据 @return PatchClassInfo实例
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchClassInfo.java:55
↓ 1 callers
Method
createFromPatch
从patch文件中读取数据并创建PatchClassInfo实例 @param patchFile patch文件 @return PatchClassInfo实例
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchClassInfo.java:85
↓ 1 callers
Method
createPatchInstallInfo
(String hash)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchManagerService.java:441
↓ 1 callers
Method
deleteFile
(File file)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchInstallInfo.java:242
↓ 1 callers
Method
dexOpt
do dex opt @param installInfo @return
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchManagerService.java:341
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ClassPoolDiffMarker.java:83
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/AddedClassDiffMarker.java:44
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/AddedFieldDiffMarker.java:40
↓ 1 callers
Method
diff
(DexClassNode newClassNode, DexClassNode oldClassNode, D
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/FieldDiffMarker.java:43
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedMethodDiffMarker.java:105
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/RemovedMethodDiffMarker.java:54
↓ 1 callers
Method
diff
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/AddedMethodDiffMarker.java:73
↓ 1 callers
Method
diff
对Outer class进行对比,递归对比其中的匿名内部类 @param diffContext DiffContext @param oldOuterDcn old outer class dcn @param newOuterDcn new outer class dcn
titan-core/src/main/java/com/baidu/titan/core/patch/light/plum/AnonymousClassDiffMarker.java:75
↓ 1 callers
Method
diffBisect
Find the 'middle snake' of a diff, split the problem in two and return the recursively constructed diff. See Myers 1986 paper: An O(ND) Difference Alg
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:372
↓ 1 callers
Method
diffCharsToLines
Rehydrate the text in a diff from a string of line hashes to real lines of text. @param diffs List of Diff objects. @param lineArray List of uniq
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:588
↓ 1 callers
Method
diffCleanupEfficiency
Reduce the number of edits by eliminating operationally trivial equalities. @param diffs LinkedList of Diff objects.
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:1077
↓ 1 callers
Method
diffCompute
Find the differences between two texts. Assumes that the texts do not have any common prefix or suffix. @param text1 Old string to be diffed. @
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:224
↓ 1 callers
Method
diffHalfMatch
Do the two texts share a substring which is at least half the length of the longer text? This speedup can produce non-minimal diffs. @param text1 Fir
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:697
↓ 1 callers
Method
diffLevenshtein
Compute the Levenshtein distance; the number of inserted, deleted or substituted characters. @param diffs List of Diff objects. @return Number of cha
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:1441
↓ 1 callers
Method
diffLineMode
Do a quick line-level diff on both strings, then rediff the parts for greater accuracy. This speedup can produce non-minimal diffs. @param text1 O
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:299
↓ 1 callers
Method
diffLinesToChars
Split two texts into a list of strings. Reduce the texts to a string of hashes where each Unicode character represents one line. @param text1 First
titan-core/src/test/java/com/baidu/titan/core/tests/DiffMatchPatch.java:521
↓ 1 callers
Method
diffQuickCompare
(DexClassNode newClassNode, DexClassNode oldClassNode,
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedMethodDiffMarker.java:233
↓ 1 callers
Method
diffQuickCompare
(DexClassNode oldClass, DexClassNode newClass, boolean ignoreDebugInf
titan-core/src/main/java/com/baidu/titan/core/patch/light/diff/ChangedClassDiffMarker.java:193
↓ 1 callers
Method
doAnalyze
(ApplicationDexPool appDexPool)
titan-core/src/test/java/com/baidu/titan/core/tests/CodeAnalyzerTest.java:116
↓ 1 callers
Method
doGenerate
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightAddedClassGenerator.java:93
↓ 1 callers
Method
doGenerate
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightPatchLoaderGenerator.java:71
↓ 1 callers
Method
doGenerate
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/LightClassClinitInterceptorGenerator.java:78
↓ 1 callers
Method
doInstall
安装titanpatch。patch包请提前push到/sdcard/titanpatch/patch.apk
titan-sample/app/src/main/java/com/baidu/titan/sample/MainActivity.java:66
↓ 1 callers
Method
doInstall
安装titanpatch。patch包请提前push到/sdcard/titanpatch/patch.apk
titan-core/src/test/smali/lightpatch/t013-anonymous/info/old/MainActivity.java:113
↓ 1 callers
Method
doInstrument
(MultiDexFileBytes multiDexFileBytes, File outBaseDir, File manifestFile)
titan-core/src/test/java/com/baidu/titan/core/tests/TitanInstrumentFromProject.java:48
↓ 1 callers
Method
doInstrument
(File apkFile, File outBaseDir, File manifestFile)
titan-core/src/test/java/com/baidu/titan/core/tests/InstrumentV2Test.java:79
↓ 1 callers
Method
doPatch
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/FullPatch.java:73
↓ 1 callers
Method
doSplit
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/BuddyInitMethodSplitter.java:79
↓ 1 callers
Method
doSplit
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/InitMethodSplitter.java:121
↓ 1 callers
Method
doSplit
()
titan-core/src/main/java/com/baidu/titan/core/patch/light/generator/changed/LightInitMethodSplitter.java:142
↓ 1 callers
Method
doStat
(ApplicationDexPool appDexPool, HashMap<String, Integer> statMap)
titan-core/src/test/java/com/baidu/titan/core/tests/SpecialMethodStatTest.java:143
↓ 1 callers
Method
doStopCurrentWork
()
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/sandbox/JobIntentService.java:623
↓ 1 callers
Method
enqueueWork
(Intent work)
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/sandbox/JobIntentService.java:131
↓ 1 callers
Method
equals
(Object o)
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchGenesisClassHierarchy.java:211
↓ 1 callers
Method
extraceDexsIfNeeded
如果满足条件,则将dex提取出来INSTALL_STATE_PATCH_VERSION_DOWNGRADE @param installInfo 安装信息 @param patchFile patch文件 @return 操作是否成功
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchManagerService.java:270
↓ 1 callers
Method
extractDexs
extract dexs @param patchZip @param patchDir @return
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/pm/PatchManagerService.java:374
↓ 1 callers
Method
feedIntoMessageDigests
Feeds the specified region of this source's data into the provided digests. Each digest instance gets the same data. @param offset offset of the regi
titan-sdk/pm/src/main/java/com/baidu/titan/sdk/verifier/ApkSignatureSchemeV2Verifier.java:1055
↓ 1 callers
Method
fillAppPool
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchGenesisClassHierarchy.java:241
↓ 1 callers
Method
fillAppPool
()
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchBuddyClassHierarchy.java:277
↓ 1 callers
Method
fillApplicationPool
(ApplicationDexPool appPool, Argument argument)
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentMain.java:189
↓ 1 callers
Method
fillComponentClass
(DexClassNode componentClass, int componentType,
titan-core/src/main/java/com/baidu/titan/core/patch/full/PatchBuddyClassHierarchy.java:365
↓ 1 callers
Method
fillComponentInfoFromApk
(File apktoolDir, File apkPath, Map<String, List<String>>
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentMain.java:261
↓ 1 callers
Method
fillLbraryClass
(ApplicationDexPool appPool)
titan-core/src/test/java/com/baidu/titan/core/tests/SpecialMethodStatTest.java:105
↓ 1 callers
Method
fillLbraryClass
(ApplicationDexPool appPool)
titan-core/src/test/java/com/baidu/titan/core/tests/CodeAnalyzerTest.java:78
↓ 1 callers
Method
filterOverridableVirtualMethod
(DexMethodNode dmn)
titan-core/src/main/java/com/baidu/titan/core/instrument/InstrumentGenesisClassHierarchy.java:448
← previous
next →
301–400 of 1,521, ranked by callers