import{_ as p,r as a,o as r,c as t,b as s,d as n,e as l,w as c,a as i}from"./app-mh6GuRj9.js";const A={},d=s("h1",{id:"第三方-member-解析器",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#第三方-member-解析器","aria-hidden":"true"},"#"),n(" 第三方 Member 解析器")],-1),y=s("p",null,"这里收录了一些第三方的 Member 解析器,可供参考与使用。",-1),D=s("h2",{id:"androidhiddenapibypass",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#androidhiddenapibypass","aria-hidden":"true"},"#"),n(" AndroidHiddenApiBypass")],-1),B={href:"https://github.com/LSPosed/AndroidHiddenApiBypass",target:"_blank",rel:"noopener noreferrer"},C=i(`
LSPass: Bypass restrictions on non-SDK interfaces
class AndroidHiddenApiBypassResolver : MemberProcessor.Resolver() {
override fun <T : Any> getDeclaredConstructors(declaringClass: Class<T>): List<Constructor<T>> {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
return super.getDeclaredConstructors(declaringClass)
}
val constructors = HiddenApiBypass.getDeclaredMethods(declaringClass)
.filterIsInstance<Constructor<T>>()
.toList()
return constructors
}
override fun <T : Any> getDeclaredMethods(declaringClass: Class<T>): List<Method> {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
return super.getDeclaredMethods(declaringClass)
}
val methods = HiddenApiBypass.getDeclaredMethods(declaringClass)
.filterIsInstance<Method>()
.toList()
return methods
}
}