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
    }
}
`,2);function u(v,F){const e=a("RouterLink"),o=a("ExternalLinkIcon");return r(),t("div",null,[d,s("blockquote",null,[y,s("p",null,[n("使用方法请阅读 "),l(e,{to:"/zh-cn/library/kavaref-core.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%A3%E6%9E%90%E5%99%A8"},{default:c(()=>[n("自定义解析器")]),_:1}),n("。")])]),D,s("p",null,[s("a",B,[n("项目地址"),l(o)])]),C])}const b=p(A,[["render",u],["__file","processor-resolvers.html.vue"]]);export{b as default};