📖 учебник Как добавить собственные сообщения, диалоги и заставки в MOD-файлах APK

Sbenny.com доверяют 1,312,903 XNUMX XNUMX счастливых пользователей с 2014 года.
Зарегистрируйтесь

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Привет, ребята,

если вам интересно, как добавить собственный тост (см. спойлер):



или пользовательский заставки (см. спойлер):



за свою взломанную игру вы попали в нужное место!

В этом очень простом уроке я покажу вам, как это сделать!



Тост сообщения - 90% игр UNITY 3D

Тостовые сообщения - не самые простые, особенно если вы не привыкли декомпилировать apk-файлы и просматривать папку smali, но я сделаю это очень простым и попытаюсь объяснить вам простыми словами.
Мы изменим определенный файл в папке smali, которая загружается в момент запуска игры, и мы сообщим этому файлу, чтобы он показывал тостовое сообщение.

Прежде всего нам нужно посмотреть, является ли это игра на основе Unity3D или нет. Как? Просто. Если игра .apk имеет следующий путь:

Код:
/Assets/bin/Data/Managed/
тогда ДА, эта игра основана на UNITY 3D.

Шаги:

1) Хватай апк (конечно)

2) декомпилировать файл apk (Я лично использую apktool, но в сети есть много альтернатив, поэтому найдите наиболее подходящий для вас).
При использовании APKTOOL:
a) Переместите файл .apk в корень apktool (тот же путь, где находится файл apktool.jar);
б) Щелкните правой кнопкой мыши + Shift и выберите «Открыть командную строку здесь»;
в) Тип:
Код:
apktool d "name of the game.apk"
Цитаты нужны почти всегда, я сделаю это коротко, поэтому я предлагаю вам ВСЕГДА ставить кавычки ("") перед и после имени файла apk. Заменить "название игры"с именем файла apk.
В том же каталоге с файлом .apk будет создана новая папка, которая будет называться "название игры". Открой это.

3) Найдите правильный путь
Перейти к: "/название игры/ smali / com / unity3d / player / "

4) Работа с нужным файлом
Откройте файл «UnityPlayerActivity.smali» (я предлагаю Notepad ++, очень хороший инструмент для чтения бесчисленных расширений файлов)

5) Поиск правой строки
Нажмите Ctrl + F (Поиск) и найдите .метод защищен наСоздать (Landroid / OS / Bundle😉V
Только результат должен прийти.
Теперь посмотрите следующие две строки. Это должно выглядеть так:

домен .locals 2 может быть .locals 3 or .locals 4 и т. д., независимо от количества.
Если вы не видите .prologueПросто добавьте его перед .locals как на скриншоте выше, или игнорируйте его, это не является обязательным требованием.
Теперь классная часть, добавив тост!

6) Добавить тост
Скопируйте следующее:
Код:
const/4 v0, 0x1

    const-string v1, "Hacked by YOUR_USERNAME_HERE \r\n Find us at forum.sbenny.com"

    invoke-static {p0, v1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V
Этот код будет загружаться и отображать тост-сообщение каждый раз, когда вы запускаете приложение. Разумеется, замените «YOUR_USERNAME_HERE» своим настоящим именем пользователя.
Теперь вставьте его сразу после .locals и еще одна пустая строка.

Окончательный код должен выглядеть следующим образом:



СОВЕТ Повторение приведенного выше кода увеличит длину вашего тост-сообщения. Лично я не предлагаю использовать код более 2 раз, так как довольно досадно видеть тостовое сообщение более 10 секунд.

7) Сохранение изменений
После этого сохраните файл и перекомпилируйте файл apk, набрав (в командной строке):

Код:
apktool b "name of the folder"
8) Подпишите apk используя ваш любимый инструмент (Я использую этот, называется one_click_signer)

9) Запустите игру
Если вы правильно выполнили вышеуказанные шаги, запустите игру, и вы должны увидеть:




Тост сообщения - 10% игр от UNITY
Процесс похож на:

1) Хватай апк (конечно)


2) декомпилировать файл apk (Я лично использую apktool, но в сети есть много альтернатив, поэтому найдите наиболее подходящий для вас).
При использовании APKTOOL:
a) Переместите файл .apk в корень apktool (тот же путь, где находится файл apktool.jar);
б) Щелкните правой кнопкой мыши + Shift и выберите «Открыть командную строку здесь»;
в) Тип:
Код:
apktool d "name of the game.apk"
Цитаты нужны почти всегда, я сделаю это коротко, поэтому я предлагаю вам ВСЕГДА ставить кавычки ("") перед и после имени файла apk. Замени "название игры" названием apk файла.
В том же каталоге, что и файл .apk, будет создана новая папка, которая будет называться «название игры». Открой это.


3) Найдите правильный путь
• Откройте файл "AndroidManifest.xml", который вы найдете в декомпилированной папке apk, и выполните поиск: "android: name =" android.intent.action.MAIN "
• Прокрутите несколько строк вверх, пока не найдете в предыдущем " "сгруппируйте последнее вхождение" android: name = ". Внутри кавычек вы найдете следующий код:

Screenshot_14.jpg


В этом примере это com.my.ifly.StartActivity, но он меняется с каждой игрой.

• конвертировать код в читаемый путь
Это проще, чем кажется. Если мы последуем примеру выше, нам придется заменить все точки символом косой черты и добавить в конец «.smali», поэтому:

com.my.ifly.StartActivity

становится

ком / мой / IFLY / StartActivity.smali

Это путь, который мы должны найти, чтобы найти нужный файл для размещения нашего тоста, поэтому мы переходим к:

smali / com / ifly / StartActivity.smali, чтобы найти нужный файл

Примечания: иногда вам может потребоваться открыть "smali_classesX" (где X - число), если вы не можете найти полный путь в папке "smali" (и если папки smali_classesX существуют), так что это будет для пример: smali_classes2 / com / ifly / StartActivity.smali



4) Работа с нужным файлом
Теперь, когда мы нашли нужный файл, давайте откроем его! В нашем примере это «StartActivity.smali» (я предлагаю открыть его с помощью Notepad ++, очень хорошего инструмента для чтения и работы с бесчисленными расширениями файлов).

5) Поиск правой строки
Нажмите Ctrl + F (Поиск) и найдите метод .method, защищенный при создании (Landroid / os / Bundle)😉V (если вы не можете найти точную строку, найдите «onCreate», убедившись, что вы найдете строку, которая начинается с «.method» и имеет только «onCreate» в качестве имени, а не InvokeOnCreate или другие похожие имена. ).

Только результат должен прийти.

Теперь посмотрите следующие две строки. Это должно выглядеть так:

.locals 2 может быть .locals 3 или .locals 4 и т. д., независимо от числа.
Если вы не видите .prologue, просто добавьте его перед .locals, как на скриншоте выше.
Теперь классная часть, добавив тост!

6) Добавить тост
Скопируйте следующее:
Код:
const/4 v0, 0x1

    const-string v1, "Hacked by YOUR_USERNAME_HERE \r\n Find us at forum.sbenny.com"

    invoke-static {p0, v1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V
Этот код будет загружаться и отображать тост-сообщение каждый раз, когда вы запускаете приложение. Разумеется, замените «YOUR_USERNAME_HERE» своим настоящим именем пользователя.
Теперь вставьте его сразу после .locals и еще одну пустую строку.

Окончательный код должен выглядеть следующим образом:



СОВЕТ Повторение приведенного выше кода увеличит длину вашего тост-сообщения. Лично я не предлагаю использовать код более 2 раз, так как довольно досадно видеть тостовое сообщение более 10 секунд.

7) Сохранение изменений
После этого сохраните файл и перекомпилируйте файл apk, набрав (в командной строке):

Код:
apktool b "name of the folder"
8) Подпишите apk используя ваш любимый инструмент (Я использую этот, называется one_click_signer)

9) Запустите игру
Если вы правильно выполнили описанные выше шаги, запустите игру, и вы наконец увидите сообщение с тостами!


PRO СОВЕТЫ:

• Тост - не единственное, что вы можете добавить в это место. Хорошая альтернатива - это «Диалог», который состоит из заголовка, сообщения и одной (или более) кнопок внутри системного окна. Чтобы добавить его, вам просто нужно пропустить этот другой код (вместо тоста), конечно же, заменив "### PUT YOUR USERNAME HERE ###" своим именем пользователя.

Код:
new-instance v0, Landroid/app/AlertDialog$Builder;

    invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

    const-string v1, "\uD83D\uDD14 Make sure this app is safe \uD83D\uDD14"

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "This mod apk file is provided by ### PUT YOUR USERNAME HERE ###, only for Sbenny.com users! If you downloaded it from other sources, please uninstall it immediately because it will damage your device as other sites inject malicious code, and visit sbenny.com to download the genuine mod apk file!"

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "I downloaded it at Sbenny.com \u263a"

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setCancelable(Z)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog;
• Всегда существует одинаковое расстояние между строкой "android: name =" android.intent.action.MAIN "и путем к тосту / диалогу в файле AndroidManifest.xml. Когда вы к нему привыкнете, вам больше не понадобится используйте поиск, чтобы найти их ????
• OnCreate может иногда вызывать другие функции, вы узнаете, прочитав, что на самом деле делает функция OnCreate, если она вызывает внутри себя другой «onCreate», а тост / диалоговое окно не отображается, было бы неплохо посмотреть в другой вызываемый файл 😉






ПОЛЬЗОВАТЕЛЬСКИЕ ЭКРАНЫ - UNITY 3D

Экраны-заставки называются так из-за файла с именем "Splash.png", который мы будем изменять.

Подобные изображения можно найти только в играх на базе Unity3D (опять же), но на этот раз это более простой процесс.

Опять же, мы должны убедиться, что игра основана на Unity3D или нет. Так что ищите следующий путь:

Код:
/Assets/bin/Data/Managed/
в противном случае это означает, что это не игра Unity 3D.

Шаги:

1) Хватай апк (конечно)

2) Переименуйте расширение файла из .apk в .zip (или Щелкните правой кнопкой мыши файл .apk и выберите «Открыть с помощью ...» и выберите «WinRar», а если он не установлен, выполните поиск в Google или используйте эта ссылка для версии x64 or эта ссылка для загрузки WinRar x32, если ты на винде).

3) Найдите правильный путь

Перейдите в: «/ Assets / bin / Data /», если его нет, значит, вы имеете дело не с игрой Unity3D.

4) Работа с нужным файлом
Выньте файл "Splash.png" из файла .zip и переместите его по пути, который легко найти (я привык помещать все свои хаки в одну папку).
СОВЕТ: Обычно это один из последних файлов в папке «Data», так что вы можете прокрутить вниз до конца и найти его.
СОВЕТ 2: на более новых Unity Games вы не можете найти Splash.png в этом месте. Если это так, у вас есть шанс 50% найти его по следующему пути: Рез / рисуем / unity_static_splash.png, Если вы найдете его, просто замените unity_static_splash.png своим изображением (убедитесь, что оно называется unity_static_splash.png). Если вы не можете его найти, извините, но это означает, что игра не использует брызги Unity, и вы не сможете добавить заставку для этой игры (вы все равно можете добавить тост / диалог).

4.5) Резервное копирование (опционально)
Я предлагаю вам, ребята, сделать копию исходного изображения PNG, поскольку иногда этот метод не работает и может привести к сбою приложения (хотя это очень и очень редко).

5) Изменить изображение
Я лично использую Photoshop и никогда не было проблем. Я слышал о людях, имеющих проблемы с использованием Paint, поэтому я предлагаю вам, ребята, использовать Photoshop для внесения изменений.
Отредактируйте картинку по своему желанию, добавьте текст, изображения или что вы хотите. Я лично не предлагаю менять ширину / высоту изображения.

6) Сохранить картинку
В Photoshop перейдите в Файл -> Сохранить для Интернета и выберите формат PNG-8 (низкое качество, но меньший размер файла. Полезно, если вы хотите уменьшить размер файла .apk) или PNG-24 (более высокое качество, лучшая прозрачность, но большой размер файла. Если вас беспокоит только качество, дерзайте) и сохраните.

7) Переместить его обратно
После этого переместите его обратно в «Assets / bin / Data /» (или «res / drawable», если вы имеете дело с unity_static_splash.png), заменив старый.

8) Переименование файла обратно в .apk
Если вы изменили расширение на .zip, пришло время изменить его обратно на .apk😜

9) Подпишите apk (необязательно) и запустите игру

Файл .apk теперь будет НЕ ПОДПИСАН. Это означает, что вам нужны права суперпользователя и Лаки Patcher установлен, чтобы установить приложение, в противном случае вы можете просто подписать его, используя свой любимый инструмент (я использую "Подписчик в один клик"). Теперь запустите игру и, если все пойдет хорошо, вы должны увидеть такой результат:




За любые отзывы и вопросы, не стесняйтесь отвечать ниже. Надеюсь, это поможет ????
 
Последнее редактирование:

Axiom

G̴̠͂l̶̙̋ȉ̷̲t̷̰͂c̶̮͊ȟ̶̪ê̵͙d̷̰̿ ̴͉̈Ơ̵̟u̵̮̕t̵̼̊
Из ада
Отряд СБ Мод ⭐
VIP
Участник 8 лет
Re: Учебное пособие Как добавить пользовательские всплывающие сообщения и экран-заставку

Очень крутой урок. Спасибо
(Y),
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Учебное пособие Как добавить пользовательские всплывающие сообщения и экран-заставку

Спасибо большое Аксиома :) Добавлена ​​2nd часть!
 

НЕМЕЗИДА

Начинающий Уровень 1️⃣
Участник 8 лет
Re: Учебное пособие Как добавить пользовательские всплывающие сообщения и экран-заставку

Сбенни сказал:
Спасибо большое Аксиома :) Добавлена ​​2nd часть!
спасибо Sbenny .. ясно, как всегда :D
 

НЕМЕЗИДА

Начинающий Уровень 1️⃣
Участник 8 лет
Как сделать цвет с тостом сообщения? И если это возможно, если я положу тост в playernativeactivity.smali (папка unity3d)?
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
НЕМЕЗИДА сказала:
Как сделать цвет с тостом сообщения? И если это возможно, если я положу тост в playernativeactivity.smali (папка unity3d)?

Цвета могут быть добавлены с помощью простых тегов HTML, таких как:

Код:
    const-string v0, "<b>Hacked by <font color=#008000>Sbenny</font></b><br/>Find me at: <font color=#008000><u>sbenny.com/forums/</u></font>"

    invoke-static {v0}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;

    move-result-object v0

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v2

    invoke-virtual {v2}, Landroid/widget/Toast;->show()V
 

НЕМЕЗИДА

Начинающий Уровень 1️⃣
Участник 8 лет
Сбенни сказал:
НЕМЕЗИДА сказала:
Как сделать цвет с тостом сообщения? И если это возможно, если я положу тост в playernativeactivity.smali (папка unity3d)?

Цвета могут быть добавлены с помощью простых тегов HTML, таких как:

Код:
    const-string v0, "<b>Hacked by <font color=#008000>Sbenny</font></b><br/>Find me at: <font color=#008000><u>sbenny.com/forums/</u></font>"

    invoke-static {v0}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;

    move-result-object v0

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v2

    invoke-virtual {v2}, Landroid/widget/Toast;->show()V
Код:
.class public Lcom/unity3d/player/UnityPlayerNativeActivity;
.super Lcom/unity3d/player/UnityPlayerActivity;


# direct methods
.method public constructor <init>()V
    .locals 0

    invoke-direct {p0}, Lcom/unity3d/player/UnityPlayerActivity;-><init>()V

    return-void
.end method

# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
    .locals 2

    const-string v0, "<b>Hacked by <font color=#008000>Sbenny</font></b><br/>Find me at: <font color=#008000><u>sbenny.com/forums/</u></font>"

    invoke-static {v0}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;

    move-result-object v0

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v2

    invoke-virtual {v2}, Landroid/widget/Toast;->show()V

    const-string v0, "Unity"

    const-string v1, "UnityPlayerNativeActivity has been deprecated, please update your AndroidManifest to use UnityPlayerActivity instead"

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

    invoke-super {p0, p1}, Lcom/unity3d/player/UnityPlayerActivity;->onCreate(Landroid/os/Bundle;)V

    return-void
.end method
я не могу сделать это с этим кодом. :?:
 

((дубляж))

APK Fanatic Уровень 5️⃣
VIP
Участник 7 лет
Тостовые сообщения вообще не работают в некоторых играх? Я заставил его работать на всем, что я пробовал, кроме игры 1. Игра называется Blyss.
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь

((дубляж))

APK Fanatic Уровень 5️⃣
VIP
Участник 7 лет
[url = http: //sbenny.com/forums/viewtopic.php? p = 35529 # p35529: dodpe1gm] Sbenny »23 несколько минут назад [/ url] сказал:
Тостовые сообщения вообще не работают в некоторых играх? Я заставил его работать на всем, что я пробовал, кроме игры 1. Игра называется Blyss.
Это игра единства?
Да это оно. Я не мог заставить работать. Пытался вставить код в оба «родных» места, но безуспешно.
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Вы тогда пытались разместить код здесь? UnityPlayerActivity.smali (без встроенного)
 

((дубляж))

APK Fanatic Уровень 5️⃣
VIP
Участник 7 лет
[url = http: //sbenny.com/forums/viewtopic.php? p = 35534 # p35534: 1c6rie59] Sbenny »3 несколько минут назад [/ url] сказал:
Вы тогда пытались разместить код здесь? UnityPlayerActivity.smali (без встроенного)
Да, это то, что я имел в виду. Извините ... Не оба родные, но попробовал оба раздела PlayerActivity.
 

БРИЛЛИАНТ

Ветеран Уровень 7️⃣
✔ Утвержденный релизер
Участник 6 лет
Очень крутой и простой урок, довольно хороший, интересно, могу ли я разместить тост и заставку, и он будет работать нормально? Ты кстати: ходьба
 

johnhern

Моддинг с 2017
Участник 6 лет
Спасибо за это, я смог получить заставку, но мод smali продолжал вылетать из приложения.
 

NdnszPstlr

Lurker Уровень 0️⃣
Участник 6 лет
Re: Учебное пособие Как добавить пользовательские всплывающие сообщения и экран-заставку

Toast Message не загружает все apk.
Могу ли я добавить Activity.smali в эти файлы в MainActivity.Smali?
UnityPlayerNativeActivity.smali не входит в каждый файл apk.
Как добавить тост сообщения для каждого апка?
 

s810car

В любви Уровень 4️⃣
Участник 7 лет
Re: Учебное пособие Как добавить пользовательские всплывающие сообщения и экран-заставку

Toast Message не загружает все apk.
Могу ли я добавить Activity.smali в эти файлы в MainActivity.Smali?
UnityPlayerNativeActivity.smali не входит в каждый файл apk.
Как добавить тост сообщения для каждого апка?
простой способ: используйте мое приложение, которое вы можете найти на этом форуме, ModIDE (найдите его), в нем есть встроенная возможность автоматического добавления тостов, просто сохраните свой тост с помощью инструмента-> добавить / изменить меню тостов. просто сделайте новый проект, следуйте инструкциям мастера установки (оставьте тост отмеченным), сохраните тост в меню, о котором я упоминал, и создайте apk, готово!

немного сложнее: используйте метод, который использует моя программа :D мне aapt (в андроид студии) гораздо проще в использовании:
Код:
/path/to/aapt d badging ./path/to/apk
найдите строку "launchable-activity", которая ВСЕГДА будет файлом, который вы редактируете (.smali после того, как вы apktool, только (вроде) недостаток aapt в том, что он не выполняет декомпиляцию, все еще нужен apktool) search для защищенного метода onCreate, который объясняется в учебнике и который следует оттуда
 

mribraqdbra

Начинающий Уровень 1️⃣
Участник 5 лет
Здравствуйте, это мой первый пост, и я надеюсь мне помочь!

ваш учебник работает на 100%, но как я могу показать тост только после установки apk

спасибо за отличный учебник.
 

Nardo7

APK Fanatic Уровень 5️⃣
Участник 5 лет
Цвета могут быть добавлены с помощью простых тегов HTML, таких как:

Код:
    const-string v0, "<b>Hacked by <font color=#008000>Sbenny</font></b><br/>Find me at: <font color=#008000><u>sbenny.com/forums/</u></font>"

    invoke-static {v0}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;

    move-result-object v0

    const/4 v1, 0x1

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v2

    invoke-virtual {v2}, Landroid/widget/Toast;->show()V
Игры зависали, когда я использовал HTML, чтобы установить цвета.
Я пытаюсь добавить код, и проблема в том, что "invoke-static {v0}, Landroid / text / Html; -> fromHtml (Ljava / lang / String;)Landroid / text / Spanned; "

Тот без цветов работает отлично.
Как я могу решить один с HTML-тегами?
 

s810car

В любви Уровень 4️⃣
Участник 7 лет
Игры зависали, когда я использовал HTML, чтобы установить цвета.
Я пытаюсь добавить код, и проблема в том, что "invoke-static {v0}, Landroid / text / Html; -> fromHtml (Ljava / lang / String;)Landroid / text / Spanned; "

Тот без цветов работает отлично.
Как я могу решить один с HTML-тегами?
Отвечаю, потому что вы также пошли опробовать ModIDE (мой проект), в котором есть инструмент для автоматической вставки тоста с принятыми тегами html. Мое лучшее предположение - вы не поместили тост в правильный smali (некоторые apks имеют несколько методов onCreate, если основное действие - подкласс). Найдите строку в верхней части с надписью «.super», если она есть, проверьте каталог и файл, в котором он упоминается, посмотрите, есть ли у него метод onCreate. Иногда тосты работают, если помещены в подкласс, тогда как тосты с тегами html обычно работают, только если они помещены в самый верхний метод onCreate.

Кроме того, при тестировании моего проекта вы можете использовать функцию добавления / редактирования тоста, чтобы сохранить тост, который при построении в нем проекта apk вставит тост в правильный файл и разрешит HTML.
 
Топовое