发明名称 一种实现Android JNI反射的接口封装方法及系统
摘要 本发明公开了一种实现Android JNI反射的接口封装方法及系统,涉及Android系统的JNI开发技术领域。该方法包括:先完成Reflect模块的功能设置并封装成相应功能接口,以供后续Native层的Field模块、Method模块、Class模块调用;再完成Native层Field模块和Method模块的功能设置并封装成相应功能接口;最后,完成Native层Class模块的功能设置并封装成相应功能接口。本发明的接口封装方法通过反射Java层的对应反射函数来获取对应的Java层的类、对象以及函数,并对其进行封装,保证了Native层与Java层具有相同的调用方式,提供更加简洁化的接口,便于调试,解决了Native原生反射的各种问题。
申请公布号 CN106502668A 申请公布日期 2017.03.15
申请号 CN201610914753.2 申请日期 2016.10.20
申请人 武汉斗鱼网络科技有限公司 发明人 刘一琛
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 武汉智权专利代理事务所(特殊普通合伙) 42225 代理人 沈林华
主权项 一种实现Android JNI反射的接口封装方法,其特征在于,该方法包括以下步骤:A、完成Reflect模块的功能设置并封装成相应功能接口,所述Reflect模块的功能包括将Native层的Field模块、Method模块、Class模块与Java层的对应组件进行绑定,所述Reflect模块的功能接口包括成员获取函数接口和方法获取函数接口;B、完成Native层Field模块的功能设置并封装成相应功能接口,所述Field模块的功能包括根据Java对象和需要获取的字符串成员名获取Java层Field类的成员对象的值和设置其值,所述Field模块的功能接口包括成员对象值获取函数接口、成员对象获取函数接口、成员对象值设置函数接口和成员对象设置函数接口;完成Native层Method模块的功能设置并封装成相应功能接口,所述Method模块的功能包括根据函数名调用Java层Method类所表示的函数,所述Method模块的功能接口包括函数名调用接口;C、完成Native层Class模块的功能设置并封装成相应功能接口,所述Class模块的功能包括根据类名获取对应Java层的Class类、通过调用Reflect模块获取当前Java层的Class类的字符串名称、根据Java层Class类的字符串成员名获取Field对象以及根据Java层Class类的字符串函数名获取Method对象,所述Class模块的功能接口包括类名获取接口、字符串名称获取接口、Field对象获取接口和Method对象获取接口。
地址 430000 湖北省武汉市武汉东湖开发区软件园东路1号软件产业4.1期B1栋11楼