Я комбинирую статический анализ кода с динамическим. Я в основном создаю новую деятельность и настрою ее как начальную деятельность. Во время работы следует называть различные методы в существующих мероприятиях.Inject Context to activity
Я могу позвонить, например. onCreate
извне, однако вызов super Activity
не удастся (или вызывает SharedPreferences или другие интересные классы), поскольку Android использует некоторые элементы инициализации при использовании намерений для вызова активности (например, установки контекста). Но мне нужно как-то вызвать методы, подобные onCreate
, или снаружи, давая целевой активности действительный контекст.
В моей недавно созданной деятельности у меня есть действующий контекст. Я попытался передать его по телефону ContextWrapper.attachBaseContext
, но все еще есть NullPointerException
где-то в Android из-за недостающего контекста. Есть ли способ взломать это как-то в рабочее состояние? Использование отражения или других хаков не было бы проблемой, поскольку оно предназначено только для анализа.
Большое спасибо за любые советы. Я мог бы каким-либо образом модифицировать анализируемые приложения, чтобы это работало.
Однако: Использование намерения не является опцией, поскольку я не могу контролировать, какие методы активности вызывается, когда и как часто. Я знаю, что андроид не был создан для непосредственного вызова этих методов, но это не обычный случай: :);