我需要提取最终的proguard规则文件,包含项目的所有规则.我在项目目录中加油,但没有运气
我有2节课
class Fragment1{
createView(SomeObject p1, AnoterObject p2)
}
@AutoLayout(String annotationParam)
class Fragment2 extends Fragment1{
}
Run Code Online (Sandbox Code Playgroud)
我如何在 Fragment2.createView 调用上执行@Around createView 并获取annotationParam?谢谢
添加:如果我将方法存根添加到 Fragment2 中,则可以开始使用下一个注释
@Around("createMethod(inflater, group, savedState) && @within(autoInflate)")
,但这是一个非常丑陋的解决方案
解决方案:感谢@kriegaex,我找到了解决方案:
@Around("execution(* com.github.a_kokulyuk.kotakt.ui.BaseFragment+.*(*, *, *)) && args(inflater, parent, savedState) && @this(an)")
public Object doLayout(ProceedingJoinPoint jo, LayoutInflater inflater, ViewGroup parent, Bundle savedState, AutoLayout an) throws Throwable {
return inflater.inflate(an.value(), parent, false);
}
Run Code Online (Sandbox Code Playgroud)