Skip to content

2.2.0

Latest

Choose a tag to compare

@teble teble released this 11 Apr 17:18
ffa6c51

Changelog

Added

  • Added composite matcher syntax for ClassMatcher, MethodMatcher, and FieldMatcher.
    • Supports allOf, anyOf, noneOf, and not for more expressive query composition.

Changed

  • Improved overall query performance.
    • Optimized native query execution and matcher hot paths.
  • Improved multi-threaded host-side usage.
    • Allows concurrent access to the same DexKitBridge.
    • Added shared scheduling and concurrency limiting for concurrent queries.
  • Reduced native .so size.

Fixed

  • Fixed incorrect findMethod behavior for methods without an actual dex definition.
    • findMethod now returns only methods that are actually defined in the loaded dex.
    • Previously, if method A invoked xxxView.setVisibility(I)V, findMethod { matcher { declaredClass = xxxView; name = "setVisibility" } } could incorrectly match that invoke target even though the method was not actually defined in xxxView or in the current dex.
    • Such invoke targets are no longer returned as regular findMethod results, but can still be used as addInvoke(...) conditions and may still appear in MethodData.invokes.