Repository navigation
Instrumenter
The previous version of this page described an Instrumenter class and methods such as addLogToAllMethods that are not present in the current API. The implementation is com.jordansamhi.androspecter.instrumentation.Logger.
Use the Instrumentation guide for a complete example with AndroidAnalysis, instance-owned options, ordered transformations, and rebuilt graph snapshots.
| Previous documentation | Current API |
|---|---|
Instrumenter.v() |
Prefer new Logger(analysis.context(), options); deprecated Logger.v() supports the legacy pack workflow |
addLogToAllMethods(tag, phaseName) |
logger.logAllMethods(tag, includeLibraries) registers an operation |
addLogToAllMethodCalls(tag, phaseName) |
logger.logAllMethodCalls(tag, includeLibraries) registers an operation |
Registering a returned Transform manually |
These registration methods return void; use analysis.apply(logger) or TransformationPipeline
|
Five-argument addLogStatement(...)
|
addLogStatement(units, insertionPoint, tag, message, body, after) mutates immediately |
Registration does not execute the operation. Applying a transformation changes the in-memory Soot model; it does not export, sign, or install an APK. Generated messages are deduplicated per process, independently of tag, so they report coverage rather than execution counts.
This guidance targets 2.0.0 on JDK 17. See Getting started for installation and Instrumentation for scope, lifecycle, legacy-pack, and low-level export details.
- Analysis sessions
- APK metadata
- Call graphs and inspection
- Graph export and comparison
- Taint analysis
- Instrumentation
- Cancellation and logging
- Migration and troubleshooting
- Publishing releases