Jump to content

Recommended Posts

  • Administrators
Posted

Скачать:
Релиз доступен только по запросу.

Дата релиза:

9 ноября 2022


Внимание 🚨

Это экспериментальная сборка с большим количеством изменений. Не смотря на то, что мы успешно протестировали ее на крупных проектах некоторых наших клиентов, мы хотим быть уверены в ее стабильности. Поэтому данные релиз можно использовать для проверки работоспособности ваших проектов. Если вы найдете какие-либо проблемы, обязательно дайте нам знать. В течении нескольких итераций исправлений ваших замечаний, мы выпустим стабильную версию. Обязательно сделайте бекап ваших проектов.

В этом релизе осуществляется переход на AndroidX и Android 13. В связи с этим были обновлены все заголовочные файлы Android API. Часть модулей была удалена, часть типов была перенесена в новые заголовочные модули. Подробности смотрите ниже в соответствующем разделе.

Начиная с этого релиза все FGX Native приложения нацелены на TargetSDKVersion = 33. Понизить это значение нельзя. 

Если вы используете Firebase Push нотификации на 10.4 вам необходимо выполнить обновление настроек Firebase. Подробности смотрите ниже в соответствующем разделе.

Новое

Новая система сборки Android приложений

Интегрирована альтернативная система сборки, которая теперь используется FGX Native для сборки Андроид приложений. Данное нововведение ускоряет сборку приложений в несколько раз. Для использования требуется наличие доступа к интернету. Возможно, может потребоваться обновление версии JDK (если у вас не заработает сборка). Однако, Oracle JDK 19 пока еще не совместима с системой сборки.

AndroidX

FGX Native переведена с Android Support Library на последнюю версию AndroidX.

AdMob 

Добавлены новые демо-проекты:

  • "Компоненты" -> "TfgBannerAd" -> "Пример отображения рекламного баннера"
  • "Компоненты" -> "TfgInterstitialAd" -> "Межстраничная реклама"

Улучшения 🙌

Ускорение старта Android приложений

В этом релизе мы ускорили запуск Android приложений. 

Обновление проектов

Улучшен процесс обновления старых FGX Native проектов до актуальных версий. Теперь, если процесс миграции затрагивает обновление файлов шаблонов проекта, то среда отобразит пользователю окно обновления с редактором, где вы можете выполнить перенос ваших изменений. Если вы хотите сделать это позднее, нажмите кнопку "игнорировать", в этом случае среда сохранит новый шаблон в корне проекта с постфиксом "new".

Поддержка Android-библиотеки

Теперь в мастере управления используемыми сторонними Android-библиотеками можно использовать AAR файлы. 

Мастер доступен через главное меню IDE "Project" -> "FGX Android Libraries".

Обновление Android API

Все заголовочные файлы Android API: Android.Api.*.pas были обновлены до "Android 12L" (ApiLevel = 32).

Удалены:

  • Android.Api.ListView
  • Android.Api.Supports
  • Android.Api.Supports.Utils
  • Android.Api.Supports.CoordinatorLayout
  • Android.Api.Supports.TabLayout
  • Android.Api.Supports.Widgets

Добавлены:

  • Android.Api.AndroidX

AdMob 

Используемая Android библиотека AdMob обновлена до 21.2.0. Помимо этого обновлен заголовочный файл Android.Api.PlayServices.AdMob.

Firebase 

Обновлена Android версия Firebase до 23.0.8

Заголовочный файл Android.Api.Firebase.Messaging полностью обновлен до последней версии.

Теперь можно передавать в push-уведомлении ссылку на изображение. В этом случае, на устройстве в уведомление будет отображено с изображением.

Новая версия Firebase требует дополнительные настройки проекта. Эти настройки есть в "Project Options" -> "Services" в Delphi 11.0. Однако, этих настроек нет в Delphi 10.4.

Если вы используете 10.4, то вам необходимо вручную внести недостающие ключи в dproj файл. В будущем у нас появится свой мастер настройки проектов. Но пока необходимо выполнить:

  1. Скачать с Firebase консоли новый "google-services.json" файл.
  2. Открыть его в текстовом редакторе и запомнить следующие значение в JSON файле по путям:
    • "client" -> "client_info" -> "mobilesdk_app_id"
    • "project_info" -> "project_id"
  3. Открыть в текстовом проектный файл "dproj" и найти узел XML "PropertyGroup", который содержит узел Android_ApiKey. Добавить в этот узел два новых узла со значениями из "google-services.json" файла:
    <Android_ProjectId>project_id</Android_ProjectId>
    <Android_AppId>mobilesdk_app_id</Android_AppId>
  4. Сохранить проект и переоткрыть его в IDE. 

TfgBarcodeScanner

Теперь мы используем MLKit версии **18.1.0**

Java2Delphi

В новой версии "Java2Delphi 2.4" теперь можно использовать AAR библиотеки. Для этого их нужно указать в конфигурационном файле в ветке "aars".

"aars": [
    "$(FGX)\\Libs\\Android\\fgx.admob.aar"
]

Помимо этого теперь генератор умеет помечать устаревшие члены класса Android API и вносить комментарий о том, в какой версии Android член был впервые введен или устарел.

function isConvex: Boolean; deprecated 'Deprecated in 30';
function addWhitelistedRestrictedPermission(const AArg0: JString; const AArg1: JString; const AArg2: Integer): Boolean; // Introduced in 29';
{ constants }
property colorMode: Integer read _GetColorMode write _SetColorMode; // Introduced in 26';

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

Вместе с новой версией мы поставляем обновленный файл, содержащий описание всего Android API 32 версии, и шаблон конфига. Если вы использовали ранее утилиту, рекомендуем обновить ваш "config.json".

Новая версия утилиты так же теперь по умному обрабатывает циклические зависимости между Java классами. Подробности читайте по ссылке ниже.

Поставка AAR вместо JAR для FGX Native

Теперь мы поставляем в инсталяторе полноценные AAR библиотеки FGX Native вместо JAR.

  • Like 7
  • Thanks 2
Posted

Доброго времени.
Огромное спасибо за проделанную работу! Скорость сборки действительно ощутимо возросла...
А как в новых обстоятельствах снова заставить приложение функционировать на Android 5.0?
Какая вообще минимальная версия Android, на которой новый способ сборки гарантировано будет работать?

  • Administrators
Posted

Добрый день,

1 минуту назад, sebekin сказал:

Доброго времени.
Огромное спасибо за проделанную работу! Скорость сборки действительно ощутимо возросла...
А как в новых обстоятельствах снова заставить приложение функционировать на Android 5.0?
Какая вообще минимальная версия Android, на которой новый способ сборки гарантировано будет работать?

Нижняя версия так и осталась - 5.0. Есть какие-то проблемы с запуском? Если есть, прикрепите пожалуйста stacktrace и лог с устройства.  

Posted

При попытке запустить приложение на Android 5.0 возникает:
RTLD_LAZY) failed: dlopen failed: cannot locate symbol ""__register_atfork"" referenced by ""libtes.so
Я использую:
android-ndk-r21e;
jdk-17.0.5.

Posted (edited)
6 минут назад, sebekin сказал:

При попытке запустить приложение на Android 5.0 возникает:
RTLD_LAZY) failed: dlopen failed: cannot locate symbol ""__register_atfork"" referenced by ""libtes.so
Я использую:
android-ndk-r21e;
jdk-17.0.5.

 

На Asus Nexus 7 (2012, Android 5.0.0) всё ок: приложение, собранное на 1.15.0.0, работает нормально.


На всякий случай:

Спойлер

image.thumb.png.3c386b496c3f6967063d2a04f4897a0b.pngimage.thumb.png.5c09d68f1e0f5699d84d50829376842b.pngimage.thumb.png.81165f83b8e89fc70dd95616421e1259.png

 

Edited by gorodoro
  • Like 1
  • Thanks 1
Posted
1 час назад, gorodoro сказал:

 

На Asus Nexus 7 (2012, Android 5.0.0) всё ок: приложение, собранное на 1.15.0.0, работает нормально.


На всякий случай:

  Показать контент

image.thumb.png.3c386b496c3f6967063d2a04f4897a0b.pngimage.thumb.png.5c09d68f1e0f5699d84d50829376842b.pngimage.thumb.png.81165f83b8e89fc70dd95616421e1259.png

 

 

А нет ли у Вас на android 5.0 проблем со следующими контролами:
+ TfgComboBox - у меня при клике по списку он не разворачивается, в результате невозможно изменить значение.
+ TfgDateEdit - у меня при клике по дате приложение вылетает. Давно эту проблему поднимал, но до сих пор не решил. Надеялся, что с переходом на androidEx она сама собой исчезнет.
 

Posted
27 минут назад, gorodoro сказал:

Можно демку в исходниках?

 

Из перечня FGX примеров, например, запускаю "Pickers - Date" на Android 5.0, нажимаю "Select date" и приложение вылетает:
java.util.IllegalFormatConversionException: %d can't format java.lang.String arguments
    at java.util.Formatter.badArgumentType(Formatter.java:1489)
    at java.util.Formatter.transformFromInteger(Formatter.java:1689)

×
×
  • Create New...