smali регистрирует утилиту / коллекцию ArrayList

Я хочу записать ArrayList, который напечатан как util/collection, но я не могу понять, каков правильный синтаксис. Для регистрации непосредственно или преобразования его в строку в smali.

Я попытался использовать iglogger, но когда я перекомпилировал с вставленным iglogger, он выдает ошибку, говорящую, что он не может smali iglogger.smali.

Есть ли документация для входа в систему smali? Я могу найти ее только для записи строки:

invoke-static {v0},Landroid/util/Log;->d(Ljava/lang/String;)I

Благодарю вас

1 ответ

Решение

Если вы хотите использовать IGLogger, вам нужно вызвать методы IGLogger. В настоящее время вы используете Android-класс Log.

Если вы хотите продолжать использовать IGLogger, вам нужно это:

invoke-static {v0}, Lcom/whatever/package/holds/iglogger;->d(Ljava/lang/String;)I # where v0 is a String. If v0 is your ArrayList you need to call toString() on it and store that result first

Тем не менее, имеет смысл использовать класс Log в Anroid:

invoke-virtual {v0}, Ljava/util/ArrayList;->toString()Ljava/lang/String; # where v0 is your ArrayList

move-result-object v1

const-string/jumbo v2, "SomeTag"

invoke-static {v2, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
Другие вопросы по тегам