libxposed / api

Apache License 2.0
144 stars 60 forks source link

api建议 #12

Closed zhhaogen closed 11 months ago

zhhaogen commented 12 months ago
  1. 首先,不清楚api使用注解方式是不是有什么特别考虑?若没有,其实建议使用接口方式可以更加规范api。也可以分为低级api、高级api,低级api由接口方式,高级api注解方式(甚至可以由第三方开发者去实现),也没必要分什么service、helper之类的。
  2. 是否有提供获取LSPosed本身信息和启动LSPosed的入口?当然这些入口可以做一个开关供用户使用,比如“是否允许获取LSPosed信息”
vvb2060 commented 12 months ago
  1. 我们正在考虑用固定方法名字取代注解。注解的初衷是为了让方法名字可以混淆,但感觉用处不大,我们可以扫描注解,其它人当然也可以,不如直接固定方法名字。
  2. 已经提供
eirv commented 11 months ago
  1. 我们正在考虑用固定方法名字取代注解。注解的初衷是为了让方法名字可以混淆,但感觉用处不大,我们可以扫描注解,其它人当然也可以,不如直接固定方法名字。
  2. 已经提供

我觉得用接口api很方便啊,lambda一行代码搞定,可比手动写一个静态方法效率高多了,而且也不用担心方法签名写错或者proguard混淆规则没写好导致方法被移除。

还有就是如果回调全部用反射调用,一般性能影响不会太大,但是如果hook的方法太多或者hook的方法调用频率很高就会影响性能,这时接口api的优点就体现出来了。

最后建议加入接口api,真的特别方便。

hfutxqd commented 11 months ago

相同的疑问,从使用角度看,直接callback对象比静态方法注解好用很多。

Dr-TSNG commented 11 months ago

https://github.com/libxposed/api/issues/10#issuecomment-1646795134 https://github.com/libxposed/api/issues/10#issuecomment-1703230640