Это путешествие длиной в год началось 14 июня 2025 года. Я был счастливым обладателем вот этого андроид-телефона Xiaomi Duoqin F22 Pro с кнопочной клавиатурой и Android 12. Экран у него был 640x960 пикселей. Клавиатура как у любого старого телефона - с двумя контролируемыми под андроидом софт-клавишами и кнопкой "Взять трубку", цифровой клавиатурой и джойстиком. И хоть рисовать на нем с этой клавиатуры было удобно как на сименсах 20 лет назад - мощность у него была совсем средняя.

Хотелось запускать на телефоне нелагающие виртуальные машины со старыми Windows (через LBochs, например, хоть на него многие и косо смотрят из-за скорости работы новых Windows, но XP там идет хорошо), играть в нелагающие игры. И вот я подобрал по цене/мощности неклавиатурную лопату Xiaomi Redmi Turbo 3 (он же Poco F6). Там уже был экран 1220x2712 пикселей и, на тот момент, Android 14, который после покупки сразу обновился до Android 15 (а сейчас уже он дообновлялся до 16).
И вот Xiaomi Redmi Turbo 3 пришел из Китая. Все идеально и быстро работало. И потом пришла очередь проверить PaintCAD на нем в деле.
Гугл сломал меню
PaintCAD показывал все меню в Android через прослойку Microemu, а она их отображала как OptionsMenu из Android.view.Menu. И попробовав на новом телефоне сохранить файл я не смог это сделать - меню показывалось только по вызову в первый раз (например, чтобы вызвать "Обзор..." и выбрать файл при открытии файла), а потом уже нет (и даже Ок уже не нажать в окошке ввода пути+имени файла).
Оказывается, с Android 13 гугл придумал что по закрытию меню (после первого вызова) надо обязательно перед следующим вызовом меню вызвать invalidateOptionsMenu().
Получается, я сидел с Android 12 и думал что PaintCAD работает на всех андроидах одинаково, а он вообще не работает на новых версиях андроида. Получается, это вносит несовместимость старых android-программ с новыми андроидами и старые программы с меню не смогут заработать на новых андроидах, и если никто их больше не поправит (всякие проекты, переставшие обновляться) - они не смогут этого сделать никогда. Ладно там добавляют в новых андроидах новые функции, ладно объявляют старые как deprecated и рекомендуют пользоваться новыми, но вот так ломать посреди на 13-м андроиде то, что на предыдущих работало... Это был шок.
Проблема, созданная гуглом искусственно, была исправлена простым фиксом со stackoverflow и меню запоказывалось повторно:
@Override
public void onOptionsMenuClosed(Menu menu) {
super.onOptionsMenuClosed(menu);
//Build.VERSION_CODES.TIRAMISU = 33
if (Build.VERSION.SDK_INT >= 33) {
invalidateOptionsMenu();
}
}А почему экран такой большой
А потом я посмотрел на PaintCAD на экране 1220x2712, попробовал порисовать как обычно - это уже не 640x960 у Xiaomi Duoqin F22 Pro, и там-то было плохо видно, а тут ничего не видно же вообще, пиксели размером доли миллиметра...
Стало ясно что пользоваться этим уже нельзя совсем.
И если до этого казалось что мобильная версия PaintCAD никогда больше сильно меняться не будет (работает же как-то и ладно) - то после этого было решено ее всю перебрать и подправить.
За прошедший год с того июня 2025 по сегодняшний июнь 2026 были переделаны все окна, сделан более заметным интерфейс, добавлены различные приспособления, масштабирующие, помогающие, упрощающие рисование на таких разрешениях. Плюс добавлена гора новых функций (часть из них портированы из PaintCAD 4Windows, что здорово так приблизило мобильную версию к компьютерной), исправлена куча ошибок.
Выбор цвета на рисунке
Особенные мучения были, например, при выборе курсором цвета, на который будет применен какой-нибудь эффект.
Если рисуемая картинка была мелкой, 32x32, к примеру, то в давние времена выбор цвета на старом Siemens CX75 выглядел вот так - на экране 132х176 подкатываем красную точку-курсор в нужное место и жмем '5':

Если в окне рисования можно включить масштаб и разглядеть рисунок поближе, то в этих окнах типа выбора цвета и ему подобных рисунок всегда показывался в масштабе x1 (чтобы, например, при вставке одного изображения на другое - видеть их оба в нормальном масштабе и понимать где будет вставка и что будет вокруг). На новом же телефоне с экраном 1220x2712 это были пиксели размером с доли миллиметра, и никаких красных точек не разглядишь. Примерно вот так:

В более поздних версиях, когда сименсы стали превращаться в benq-siemens, а экран телефона 240x320 стал обычным делом - в PaintCAD появились настройки курсора и можно было выбрать курсор, например, в виде точки с кольцом вокруг (он побольше и его хорошо видно на 240x320), или даже нарисовать вообще произвольный курсор и выбрать на нем активную точку, под какую-нибудь экзотическую задачу (например, чтоб он никогда не закрывал собой пиксели с определенной стороны от него):


Но на разрешении 1220x2712 при экране с диагональю 6-7 дюймов что курсор в один пиксель, что курсор с кольцом 5x5 пикселей - не видны.
Решение было подобрано следующее: в компьютерной версии PaintCAD есть на окне "Лупа 11x11", она показывает область размером 11x11 пикселей вокруг курсора:

Теперь по кнопке "Звездочка" подобная область включается и в PaintCAD Mobile - и в окне выбора цвета, и в других подобных окнах (выбор выделения, вставка изображения на рисунок). Над ней показываются текущие координаты курсора. А вместо мелкого курсора рисуются две толстые пунктирные линии до краев экрана чтобы было ясно где сейчас курсор и какое место вокруг него показывает область 11x11:

Виртуальные пиксели и шрифты
Если взять телефоны сименс с разными размерами экранов (130x130, 132x176, 240x320) и внимательно изучить размеры шрифтов на них, то станет ясно что на экране обычно вмещается по вертикали хотя бы штук десять строк текста, а то и чуть больше.
Это значит что шрифты должны быть такого размера, чтобы эти 10 строк текста влезли в текущий экран. Теперь PaintCAD на старте смотрит как его запустили (если нажали клавишу - значит он управляется с физической клавиатуры и доступен весь экран, а если нажали на экран - значит полэкрана занято виртуальной клавиатурой и доступны полэкрана), и из доступного экрана рассчитывает размеры шрифтов чтоб около 10 строк влезли по вертикали.
А высота строк текста мелким шрифтом на тех же сименсах, допустим, 14 пикселей. Тогда эту высоту строки в пикселях надо поделить на 14 - это будет высота одного сименсовского пикселя.
Весь интерфейс паинткада рисуется теперь в таких сименсовских, или, как они названы в PaintCAD - виртуальных, пикселях, все толщины линий на элементах окон, их смещения для примыкающих друг к другу элементов и размеры - все это пересчитано с обычных пикселей на виртуальные.
В главном меню в подменю "Справка" вместо старого пункта показа объема свободной оперативной памяти появился новый пункт "Инфо о системе", в нем выводится информация о платформе, на которой запущен PaintCAD, параметры экрана, информация о свободной и занятой оперативной памяти и информация о доступных дисках (сколько свободно места и сколько всего). И на ее втором шаге под названием "Экран" можно посмотреть каким PaintCAD считает ваш экран в виртуальных пикселях:


Например, у Xiaomi Redmi Turbo 3, с показывающейся на полэкрана виртуальной клавиатурой, доступный для вывода окошек экран для PaintCAD кажется равным 135x126 пикселей, что похоже на квадратные экраны 128x128 или 130x130 пикселей, от этого должны быть ощущения что рисуешь на телефоне вроде Siemens C65.
Увеличиваем всё до размера виртуального пикселя
Теперь PaintCAD считает что экран моего телефона размером 135x126. Если целочисленно поделить реальную ширину/высоту экрана на ширину/высоту экрана в виртуальных пикселях, то получится что каждый виртуальный пиксель для это 9x9 реальных.
И вот этими виртуальными пикселями размером 9x9 реальных PaintCAD отсчитывает смещения компонентов от опорных точек на окне и размеры компонентов, рисует компоненты окон из линий такой толщины. Графика чтобы дотянуться до таких больших размеров - при загрузке масштабируется многократно по алгоритму advMame x2 пока не достигнет нужного размера. Главное окно из PaintCAD 2.7 beta 1 превращается в новое окно, где все из виртуальных пикселей, а значки большие и хорошо видны. И даже масштаб рисунка автоматически ставится при запуске равным виртуальному пикселю (это видно по x9 в заголовке):

Выбор кратного виртуальному пикселю масштаба рисунка
Тут пришла мысль, что чтобы без конца сидеть в виртуальных пикселях и окончательно почувствовать себя на старом телефоне низкого разрешения - надо сделать и выбор масштаба рисунка, кратный виртуальному пикселю, из которых нарисован интерфейс.
По "ДжойВправо" в окне рисования открывается, как обычно, меню команд. Первый пункт в нем - выбор масштаба рисунка "Лупа":

В этой "лупе" можно менять масштаб рисунка с шагом 1 по "ДжойВлево" и "ДжойВправо" и выставить совсем некратный виртуальному пикселю масштаб. Но если хочется увериться в том что ты рисуешь на телефоне с разрешением 135x126, то и масштаб рисунка надо менять кратно виртуальному пикселю. Если x9 это у меня на телефоне 1 виртуальный пиксель, то x18 это будет 2 виртуальных пикселя, x27 это 3 виртуальных пикселя и т.д.
Для быстрого переключения между разными масштабами в виртуальных пикселях чтоб, увеличивая масштаб, сразу прыгать от x9 к x18, потом к x27, были назначены клавиши "ДжойВверх" и "ДжойВниз". Кроме того помимо масштаба в реальных пикселях в этом окне теперь отображается масштаб и в виртуальных в виде "ВП xN". Если изменить масштаб на некратный виртуальному пикселю, то надпись вида "ВП xN" пропадает:

Также в окне лупы добавлены новые возможности управления масштабом:
по кнопке джойстика (надпись "Экран" на панели софт-клавиш) подбирается такой масштаб в реальных пикселях чтобы рисунок отображался максимально большим, но без появления полос прокрутки
по зеленой кнопке "Поднять трубку" подбирается такой же максимальный масштаб в виртуальных пикселях без появления полос прокрутки
по кнопкам "*" / "#" устанавливается минимальный/максимальный масштаб в виртуальных пикселях в пределах доступного диапазона масштабов
диапазон масштабов раньше был x1 - x50, в версии PaintCAD Mobile 3.0 он увеличен до x1 - x100, раз экраны смартфонов стали такими большими
Теперь можно нажать в окне лупы, например, "ДжойВверх" и масштаб сразу перепрыгивает с ВП x1 (x9) на до ВП x2 (x18):

И в окне рисования рисунок отображается точками размером 2x2 виртуальных пикселя:

Теперь если менять масштаб только в виртуальных пикселях (по "ДжойВверх" / "ДжойВниз") в окне лупы, то пиксели картинки в окне рисования всегда будут кратны виртуальному пикселю. И будет еще больше казаться что рисуешь на экране низкого разрешения.
Масштабирование рисунков везде где их не видно - по кнопке "Звездочка"
А. Окно предпросмотра, вызываемое по красной кнопке "Положить трубку" виртуальной клавиатуры. Теперь в нем все, что отображается (а там бывает рисунок, бывает по "0" проверка стыковки текстур - 5x5 рисунков, бывает буфер по левой софт-клавише, бывает компаратор по кнопке "5") - по нажатию "*" все это масштабируется кратно до размеров экрана:

Б. Окно просмотра рисунка из файла под курсором в списке файлов, вызываемое в файловом менеджере по "1", позволяло просматривать файлы в масштабе x1. Теперь по кнопке "*" он кратно увеличивается до размеров экрана, а справа от имени файла появляется значок "изображение натянуто на экран" со стрелками во все стороны:

В. Окно обзора шрифта, вызываемое в главном меню "0" - "Шрифты" - "Обзор шрифта", показывало символы в масштабе x1. Теперь внизу на панели есть значок "изображение натянуто на экран" со стрелками во все стороны. Можно нажать джойстик, а можно и "*" - и картинка символа кратно растянется на всю доступную область окна:

Про новые возможности
Помимо масштабирования каждого окошка были и добавлены новые функции, поправлены ошибки. Основные из них:
А. Все обработки в главном окне выведены в отдельные потоки. Раньше когда, например, рисуешь гигантский закрашенный эллипс - все подвисало, а потом и крашилось (если очень большой эллипс на рисунке 3000x3000 точек), т.к. андроид думал что паинткад завис и аварийно закрывал его. Теперь наверху в заголовке рисуются песочные часы и надо ждать пока они пропадут - это значит что обработка закончена и можно рисовать дальше. За это время запустится поток, пройдет обработка, завершится поток и потом пропадут в заголовке часы (появится фиолетовый баллончик с буквами PC - обычный значок паинткада):

Б. В настройки добавлен пункт "Показ выделения", по умолчанию включен. И на самом рисунке в главном окне видны границы области выделения. Они полупрозрачные и поэтому видны на любых цветах:

В. Новая функция "Области" в меню команд ("ДжойВправо" в окне рисования). Портирована из PaintCAD 4Windows:

Добавляем текущую выделенную область в список. Потом можно добавить еще другую, третью и т.д.. А потом просто выбирать из списка одну из них - и она сразу будет выделена на рисунке. Очень удобно если нужно вырезать из множества картинок одинаковые фрагменты. Один раз добавил область в список, а потом открываешь картинки по очереди, выбираешь "ДжойВправо" - "Области" - нужную область, потом обрезаешь по "ДжойВправо" - "Фрагмент" и сохраняешь. И повторяешь это со всеми картинками:

Г. Инструменты "Линия" и "Полилиния" теперь отображают в заголовке окна рисования длину линии в пикселях и угол ее наклона в градусах. Теперь с помощью линий можно мерить расстояния между точками/объектами на рисунке, угол завала горизонта фото и т.п. величины:

Д. Изменение размера рисунка через "Размер растра" в меню команд - теперь предлагает на выбор 3 метода - Обычный, Умный и Сглаженный (портировано из PaintCAD 4Windows). Вызываем в окне рисования по "ДжойВправо" - "Размер растра" изменение размера рисунка. Он теперь спросит не только новый размер рисунка, но и "Метод масштаба": Обычный - простой и быстрый, как раньше. Умный - с умом сжимает/растягивает малоцветные картинки (пиксель арт). Сглаженный - сжимает/растягивает картинку со сглаживанием (с линейной интерполяцией, для фоток).

Е. Поворот рисунка теперь может поворачивать на любой угол, методами Обычный, Умный и Сглаженный, пропускать указанный "прозрачный цвет" и дополнительно закручивать углы (портировано из PaintCAD 4Windows).
Пусть есть такая картинка как показана ниже. Выделим ее часть, которую будем вращать (все что закрашено рыжим):

Вызывая в окне рисования меню выделения и буфера обмена по "#" и выбирая там "Повернуть" - увидим вместо простого поворота на 90 градусов вот такой интерфейс с крутящейся картинкой-образцом, под ней указан угол поворота общий (хоть миллион градусов), а в скобках такой же, обрезанный до пределов 0-359,9 градусов:

Виртуальная клавиатура покажет значками на кнопках как им управлять:
4 и 6 - медленный поворот с шагом 0,1 градуса;
1 и 3 - побыстрее поворот с шагом 1 градус;
7 и 9 - быстрый поворот с шагом 15 градусов;
2 и 8 - поворот с шагом 90 градусов
Джойстик - сброс угла поворота на 0 градусов

После выбора угла поворота будет запрошен прозрачный цвет (пиксели этого цвета не будут исчезнут из выделенной области и не будут перенесены в повернутое изображение):

Потом будет запрошен метод поворота - три метода как у "размера растра" - Обычный, Умный и Сглаженный:

Потом паинткад спросит метод закручивания углов. Если выбрать "Нет" - будет просто поворот. А другие методы - подкручивают углы по разным математическим законам:

И паинткад выдаст результат поворота (можно отменить нажатием кнопки "ДжойВверх"):

Разные методы закручивания дают разные результаты, можно, например, закрутить фото в такой "портал":

Ж. "Сканлайн" в меню эффектов заменен на "Расширитель" - пакет из 22 различных эффектов обработки/масштабирования изображений (включает в себя и бывший сканлайн) (портировано из PaintCAD 4Windows)
В меню эффектов (по кнопке "*" в окне рисования) вместо "Сканлайна" теперь лежит "Расширитель":

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

Если взять мелкую картинку:

То расширитель по алгоритму "advMame3x" даст увеличенное в 3 раза изображение с подбором углов наклона линий - можно красиво увеличивать малоцветные картинки, скриншоты из игр со старых приставок и т.п.:

А расширитель по методу "Ручной х2" уменьшит количество цветов до выбранного и изобразит его в линиях толщиной 2 пикселя, как будто кто-то нарисовал его рукой:

Методов "Расширителя" много (22 штуки), каждый дает совершенно различные результаты.
З. И еще многое другое
Например, палитру теперь можно сохранять в PAL файлы и загружать из них, а после загрузки сразу внедрить ее на рисунок (перерисовать все пиксели рисунка на цвета из загруженной палитры). Еще в окне палитры можно нажать "0" и выбрать одну из стандартных палитр (ZX Spectrum, DOS VGA и прочие), и тоже, если нужно, сразу внедрить ее на рисунок:

Еще эффект "Мозаика" теперь может раскидать изображение из буфера не только строго по сетке на рисунок, но и случайно (например, заполнить нарисованный пляж камешками в разных случайных местах пляжа).
Еще появились новые эффекты. Например, "Цветная шерсть" (портирован из PaintCAD 4Windows) в "Доп.эффектах" рисует шарф из случайных разноцветных ниток в пределах текущего выделения:

Под андроидом теперь можно фотографировать с камеры и загружать фотки в паинткад.
А еще теперь можно через "0" - "Обработка" - "Снять 3GP/MP4 кадр" открывать 3GP/MP4/AVI-файлы и сохранять из них отдельные кадры в файл или загружать сразу в паинткад (в ходе тестов оказалось, что разные версии андроида успешно грузят одни форматы, и совсем неуспешно или в виде мусорных кадров грузят другие форматы, но как-то оно работает):

Виртуальная клавиатура при этом значками подсказывает как перематывать видео медленно, побыстрей, совсем быстро, перейти в начало, середину или конец видео. По кнопке "#" можно даже запустить проигрывание видео чтобы потихоньку доехать до нужного кадра:

BMX-плеер ("ДжойВправо" - "Плеер BMX" в окне рисования) для проигрывания анимированных 4-кадровых BMX-анимаций (из сименсов и прочих мобильных телефонов) переработан, и может даже сразу превращать эти старые BMX в GIF-анимации с выбранной по джойстику скоростью 0,5x, 1x или 2x (функция "В GIF" на правом софте). Раньше BMX были чернобелыми, но можно их раскрасить - и они станут цветными:

В окне обновления "0" - "Справка" - "Обновление" теперь видны и доступный релиз, и доступная бета, и по клику на экране (или по нажатию софт-клавиш) под андроидом можно скачать новую версию:

Настройка клавиш управления под любой телефон
Если у вас кнопочный Android или кнопочный телефон с Java, или даже кнопочная игровая android-консоль - то у всех них бывают разные кнопки, в разном количестве, в разных местах устройства. Паинткад можно запускать как на всяких ретро-устройствах (цифровой детокс!):

так и на современных на кнопках (например, Xiaomi Qin F21/F22/F23 на Android) и на qwerty-клавиатурах.
Чтобы назначить на таком устройстве клавиши - в PaintCAD Mobile 3.0 была добавлена полноценная настройка клавиш.
Для того чтобы ее вызвать - нужно долго держать любую физическую клавишу (кроме клавиш громкости) на самом первом экране после запуска с эмблемой BS Studios и надписью наверху "Зажми кнопку: конфиг". По прошествии некоторого времени паинткад попросит клавишу отпустить и перейдет в настройку клавиш:

А второй вариант входа в настройку клавиш, если паинткад уже запущен с управлением физическими клавишами - через вызов в главном меню "0" - "Настройки" - "Чем рисуем...":

При входе в настройку клавиш паинткад не знает ничего об устройстве. Может быть это устройство с кнопочной телефонной клавиатурой, может быть это qwerty-смартфон, может быть игровая консоль, а может вообще что-нибудь экзотическое. И не знает вашего предпочитаемого языка - Русский или Английский.
Поэтому он просит (на двух языках сразу) сначала нажать три клавиши - кнопку джойстика ("Выбор"), кнопку "ДжойВверх" и кнопку "ДжойВниз". Кнопка, которую просит нажать, выделена фиолетовым цветом на экране. А сам текст запроса - в верхней части экрана на табло:



После этого паинткад спросит какой язык интерфейса настройки клавиш нужен - Русский или Английский:

После этого настройка клавиш, наконец-то, включает все свои функции. Кнопками "ДжойВверх" / "ДжойВниз" / "Кнопка джойстика" можно выбрать одну из клавиш для настройки. При этом подгрузится стандартная раскладка по автоопределенной модели вашего телефона/смартфона и коды будут уже установлены:

Наверху слева есть рыжая кнопка "..." - это вызов меню. Сначала фиолетовый фокус будет стоять на ней. Нажмите "ДжойВниз"/"ДжойВверх" чтобы катать фокус по вертикальным рядам и выбирать клавиши для настройки.
Голубая кнопка "О" над джойстиком - это кнопка камеры, вызывающая функцию "Фото" для фотографирования и затаскивания снятого изображения в паинткад для редактирования/сохранения. На нее тоже можно назначить одну из физических кнопок вашего телефона.
Короткое нажатие на "Кнопку джойстика" - перейти в режим установки кода выделенной фиолетовым клавиши, а долгое нажатие на "Кнопку джойстика" - стирание кода с выделенной фиолетовым клавиши.
В режиме установки кода: короткое нажатие нужной клавиши - установить ее код, а долгое нажатие ЛЮБОЙ клавиши - стереть код.
При этом можно спокойно назначать любые и стирать коды с клавиш "ДжойВверх" / "ДжойВниз" / "Джойстик", управление клавишами, выбранными в самом начале запуска настройки клавиш, не сломается.
По рыжей кнопке "..." наверху слева открывается меню настройщика клавиш:

Состав меню:
"Авто-выбор кодов": автоматически определить модель телефона и после этого принять ее или выбрать самому другую модель/марку из готовых раскладок.
"Стереть код": паинткад выдаст совет как стирать код с конкретной клавиши (совет о том, что надо "долго удерживать клавишу")
"Стереть все коды": очистить все коды с клавиш, а потом вручную назначать каждый из них
"Назначать Vol+/-": эта кнопка видна только под андроидом, если включить эту функцию - то клавиши "Громкость+" и "Громкость-" будут перехватываться паинткадом и можно будет назначить на них какие-нибудь функции (обычно это "Тип линии" (сплошная/пунктир) и "Фото"). А если ее выключить - то клавиши "Громкость+" и "Громкость-" будут как обычно регулировать громкость (это для любителей слушать музыку и рисовать одновременно)
"Тест клавиш": покажется клавиатура, нажатие на клавишу будет отмечать нажатую. И можно проверить что все назначено верно. А потом закончить тест долгим нажатием на любую клавишу.
"Сохранить и выйти": сохранить в настройки назначенные коды и выйти из настройки клавиш
"Отменить и выйти": не сохранять никаких изменений и вернуть коды в то состояние, которое было до вызова настройки клавиш
Теперь с такой новой настройкой клавиш PaintCAD Mobile 3.0 может управляться с любых устройств с физическими клавишами.
Кстати, раньше раскладка кодов для определенной модели телефона выбиралась клавишами 1-8 в стартовом окне паинткада (где написано большими буквами "PaintCAD" и выбирается Русский/English язык). На клавише "8" - обычная Android-раскладка для цифровой кнопочной клавиатуры андроид. В PaintCAD Mobile 3.0 на клавишу 9 в этом окне добавлена еще одна раскладка "Android&Vol" - эта стандартная телефонная андроид-раскладка плюс включенный перехват клавиш "Громкость+" и "Громкость-" для вызова с помощью них "Тип линии" (сплошная/пунктир) и "Фото":

Проблемы с запуском паинткада для Android на некоторых новых смартфонах с заблокированной установкой "устаревших" приложений
Android-версия паинткада построена на обвязке Microemu, которая вытаскивает из Java-мидлета классы, добавляет к ним классы-прокладки, связывающие функции J2ME и Android, и собирает из этого всего APK файл через Android SDK.
APK-файл получается для старых версий Android. Где-то с Android 13 некоторые производители смартфонов года три назад (в 2022-2023, наверное) начали включать блокировку установки старых приложений.
Если андроид-версия при установке пишет что "Приложение устарело" и не устанавливается или выдает что-то типа "Error: INSTALL_FAILED_DEPRECATED_SDK_VERSION: App package must target at least SDK version 24, but found 8":
Это значит что на вашем телефоне включена блокировка установки приложений, работающих на старых андроидах (некоторые производители смартфонов в последние годы стали встраивать подобные блокировки).
Обойти эту блокировку и установить приложение для старых телефонов можно, как пишут в гайдах, лишь одним путем - через утилиту adb (Android Debug Bridge) командой:
adb install --bypass-low-target-sdk-block путь_к_файлу.apk
(тогда нужен комп с установленным adb.exe и соединить телефон с компом по кабелю или по wifi с галочкой в настройках "Отладка по usb"/"Беспроводная отладка").
Кстати, например, мой Xiaomi Redmi Turbo 3 (Poco F6) имеет на борту достаточно современный Android 16, но устанавливает любые приложения без ограничений и блокировок. Значит, есть блокировка или нет - зависит от производителя смартфона. Т.е. физически классы старых андроидов из API на новых андроидах не вырезаны и все работает, если бы только не этот блок.
Попробовать PaintCAD Mobile 3.0.24
Полная версия:
APK для Android 2.3 и новее: http://blackstrip.ru/PaintCAD.apk
JAR/JAD для Java2ME MIDP2.0 с Java-памятью 2 Мбайт и более (а еще для J2ME Runner под андроидом может работать):
JAR: http://blackstrip.ru/PaintCAD.jar
JAD: http://blackstrip.ru/PaintCAD.jad
Урезанная Lowmem-версия для слабых устройств с маленьким внутренним диском и медленной работой (вырезана помощь, от этого размер APK/JAR снижен на 100 Кбайт, и запускается быстрее т.к. JAR быстрее распаковывается, функционал полностью такой же как у полной версии):
APK для Android 2.3 и новее: http://blackstrip.ru/pcmlm/PaintCAD.apk
JAR/JAD для Java2ME MIDP2.0:
JAR: http://blackstrip.ru/pcmlm/PaintCAD.jar
JAD: http://blackstrip.ru/pcmlm/PaintCAD.jad
p.s. в манифесте APK выставлено минимальное SDK для Android 2.2 - но это на всякий случай. На 2.1 устанавливаться точно не хочет. На 2.3 точно идет. А устройств с 2.2 для проверки у меня нет, вдруг там тоже пойдет =)


























