DroidRA java.lang.RuntimeException: у Main-класса нет основного метода - PullRequest
0 голосов
/ 11 июля 2019

Я работаю над проектом по созданию Call Graph приложений Android (в APK) с преобразованием SPARK для анализа указателей. Чтобы анализ указателей был точным, необходимо учитывать рефлексивные вызовы внутри apk. Таким образом, я наткнулся на инструмент DroidRA, который можно использовать для создания расширенной версии APK, в которой есть отражающие вызовы.

На большинстве APK метод init (...) в методе main () исходного кода DroidRA может успешно генерировать класс DummyMainClass вместе с методом dummy main (). Однако при запуске метода refleAnalysis () DummyMainClass таинственным образом исчезает из Scene.v (), показывая следующее сообщение об ошибке:

enter image description here

Используя тот же исходный код DroidRA, я мог успешно использовать инструментальные средства и создавать ускоренные версии очень небольшого количества APK в моем наборе данных. С этими APK я мог наблюдать, используя точки останова, что класс DummyMainClass не исчезает при запуске метода refleAnalysis (). Тем не менее, я считаю, что что-то - возможно, изменение настроек или некоторые аргументы - можно сделать, чтобы заставить его работать более последовательно.

Существуют ли какие-либо специальные параметры / аргументы в DroidRA, которые я мог бы изучить, или необходимо внести какие-либо необходимые изменения в исходный код для анализа последних APK, поскольку прошло несколько лет с момента последнего обновления исходного кода?

...