Перейти к содержанию
Fire Monkey от А до Я

gonzales

Пользователи
  • Постов

    334
  • Зарегистрирован

  • Посещение

  • Победитель дней

    27

Весь контент gonzales

  1. Оставлю тут информацию, чтобы не потерялась. Суть проблемы в следующем, в проекте используются сторонние библиотеки, которые подключены в deployment. Прописаны пути для этих библиотек library\lib\arm64-v8a\. Все работает при отладке на телефоне в Release mode (Development). Для сборки пакета для Goolge Play переключаюсь в Release (Application Store) и создаю aab файл. Google его нормально принимает, приложение выкладывается, и тут возникает ошибка то есть программа не может найти библиотеку libavutil.so по адресу data/.... Причем ошибку наблюдается на Андрод 9 и 10, а на Андроид 11 работает все штатно. Открываю aab файл как архив, вот же они, все библиотеки на месте. Напоминаю, что apk файл отрабатывает на устройстве абсолютно нормально, но загрузить его в Google Play не получается, потому как в Development mode не подтягиваются сертификаты, необходимые для выкладки, а в Application Store mode не создается apk файл. На данный момент нашел только одно решение проблемы, возможно кто-нибудь подскажет что-то более вменяемое 1. Запускаем командную строку команда создания сета с apk java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\Android\bundletool-all-0.13.3.jar" build-apks --mode=universal --bundle="путь до aab файла.aab" --output="путь куда развернуть apks файлы.apks" --ks="путь до keystore файла.keystore" --ks-pass=pass:пароль keystore --ks-key-alias=алиас приложения --key-pass=pass:пароль алиаса После непродолжительного ожидания в папке "путь куда развернуть apks файлы" создается apks файл 2. Открываем получившийся apks файл как архив, вытаскиваем оттуда apk файл. У меня он называется universal.apk 3. Уже этот apk файл выкладываем в Гугл. Метод конечно абсолютно костыльный, вообще непонятно сколько еще Гугл продолжит принимать apk вместо aab, надеюсь, что этот месседж кто-нибудь увидит и эту хрень пофиксят.
  2. Чтобы не плодить тем, спрошу тут. С выходом 14 iOs при обращении к ресурсам в локальной сети iOs выдает запрос на разрешение на поиск устройств в локальной сети и подключение к ним. Не подскажете, как можно запросить это разрешение заранее?
  3. Я разобрался, откуда вылезли эти грабли. У меня почему-то прописалось прямо в файле проекта (dproj файл), что Андроид64 использует SDK 25.2.5. После того, как я удалил эту привязку, все скомпилилось. А вообще 26 SDK у меня нормально существует)))
  4. gonzales

    Push в Delphi11

    Оставлю здесь информацию, как заставить работать пуши при переходе на delphi11. Если Вы заметили, что после перехода на 11 версию у Вас отвалились пуши, система не показывает firebase token, то проблема решается так. 1. Скачиваем JSON с консоли FireBase 2. Открываем его, видим следующий вид 3. Вписываем в Настройках проекта в секцию Services в следующем соответствии: API key - current_key Application id - mobilesdk_app_id Project id - project_id GSM sender id - project_number 4. И не забываем выставить в секцию Entitlement List галочку Receive push notifications. После этого все опять начинает работать.
  5. Пытаюсь скомпилить проект, сделанный в 10.4.2. Получаю вот такую шляпу [Error Error] Specified platform sdk not found: 'C:\Users\user\AppData\Roaming\Embarcadero\BDS\22.0\AndroidSDK25.2.5_64bit.sdk' Заглядываю в папку C:\Users\user\AppData\Roaming\Embarcadero\BDS\22.0. Там лежат только файлы AndroidSDK26.1.1_64bit.sdk AndroidSDK26.1.1_32bit.sdk Новое приложение создается и компилируется без проблем. Пробовал подмахнуть манифест от нового приложения - не помогло. Не подскажете, где копать?
  6. Удалил какие-то приложения (удалял сразу несколько, поэтому не могу сказать точно, какие) и все заработало?
  7. Собственно вопрос в заголовке, но немного деталей. Попался в руки телефон OnePlus 9R, с 11 андроидом на борту. Так вот на нем, любое приложение, скомпилированное в среде 10.4.1 не висит в списке запущенных, то есть его нельзя остановить стандартным способом. На других телефонах с 11 андроидом вроде все нормально. Никто случайно не сталкивался с такой болячкой? Все, что мне удалось найти в сети по этому поводу, что есть команды для манифеста, чтобы скрыть как раз приложение из списка android:excludeFromRecents="true" Пробовал ставить false - не помогло. Буду рад любым комментариям...
  8. Оставлю здесь полезную информацию. Если при добавлении сертификата в связку ключей у Вас, как у меня появляется ошибка сертификата "Сертификат ненадежен", то проблема решается следующим образом
  9. Прошу помощи, как переделать предложенный вариант под следующую конструкцию Я использую компоненты https://github.com/Zeus64/alcinoe TALTabControl на котором в каждой вкладке создается TALVertScrollBox, то есть у пользователя есть две степени свободы. Изначально я пробовал использовать обычный TVertScrollBox, который положен на TALTabControl, но приведенный код работал только при скролинге скроллбокса, а при горизонтальном свайпе со сменой активного таба нажатие все равно получалось. Вторая проблема в том, что я не до конца понимаю код, а конкретнее, когда я заменяю TCustomScrollBox на TALVertScrollBox, начинает ругаться на строку if ScrollBox is TCustomListBox then unit Form.Base; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.InertialMovement, FMX.Dialogs, FMX.Layouts, FMX.ListBox; type TBaseForm = class(TForm) private protected ControlledScrollBox: TCustomScrollBox; function GetActiveScrollBox: TCustomScrollBox; virtual; public function ObjectAtPoint(AScreenPoint: TPointF): IControl; override; end; implementation {$R *.fmx} type TAniCalculationsAccess = class(TAniCalculations); function ControlMoved(ScrollBox: TCustomScrollBox): Boolean; begin Result:=False; if Assigned(ScrollBox) then if ScrollBox is TCustomListBox then Result:=ScrollBox.AniCalculations.Moved else Result:=ScrollBox.AniCalculations.Moved and TAniCalculationsAccess(ScrollBox.AniCalculations).Enabled and (ScrollBox.AniCalculations.LastTimeCalc>0); end; function TBaseForm.GetActiveScrollBox: TCustomScrollBox; begin Result:=ControlledScrollBox; end; function TBaseForm.ObjectAtPoint(AScreenPoint: TPointF): IControl; var ScrollBox: TCustomScrollBox; begin var P:=ScreenToClient(AScreenPoint); ScrollBox:=GetActiveScrollBox; if ControlMoved(ScrollBox) and ScrollBox.PointInObject(P.X,P.Y) then begin Result:=ScrollBox; if Assigned(Captured) and (Captured<>Result) then begin Captured.MouseUp(TMouseButton.mbLeft,[],-1,-1); SetCaptured(nil); end; end else Result:=inherited; end; end. Прошу, пните в нужном направлении, куда копать
  10. Оставлю здесь небольшую ремарку по поводу того, как проверить aab файл на устройстве. Актуально для 10.4.1 Запускаем командную строку (я запускал от имени админа) команда создания сета с apk java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\Android\bundletool-all-0.13.3.jar" build-apks --mode=universal --bundle="путь до aab файла.aab" --output="путь куда развернуть apks файлы.apks" --ks="путь до keystore файла.keystore" --ks-pass=pass:пароль keystore --ks-key-alias=алиас приложения --key-pass=pass:пароль алиаса После непродолжительного ожидания в папке "путь куда развернуть apks файлы" создается apks файл команда установки java.exe -jar "C:\Program Files (x86)\Embarcadero\Studio\21.0\bin\Android\bundletool-all-0.13.3.jar" install-apks --apks="путь до apks файла.apks" --adb="C:\Users\Public\Documents\Embarcadero\Studio\21.0\CatalogRepository\AndroidSDK-2525-21.0.38860.1461\platform-tools\adb.exe" программа разворачивается на устройстве.
  11. Спасибо, в правильную сторону пнули. Не прописаны пути были для 32 битной версии.
  12. Подскажите пожалуйста такой момент, у меня есть сторонний компонент. Если я убираю галку "Generate Android App Bundle file (arm + arm64)" то все компилится нормально, но как только ставлю ее получаю ошибку, unit AVPlayer not found. Я где-то должен что-то еще прописать? Или это компонент не предназначен для создания бангла?
  13. Ну вот и приехали(( https://4pda.to/2021/06/30/387350/proschaj_apk_google_perekhodit_na_novyj_format_android_prilozhenij/ Генерация Android App Bundle появилась только в 10.4.2, но работает криво. У меня не подтянулись доп. библиотеки, криво работает TListboxItem, возможно еще есть какие-то косяки. Но тем не менее советую уже сейчас посматривать в сторону перехода на новую версию
  14. У меня исчезает при запуске приложения. А вообще, если Вы пользовались примером Равиля для отправки пуша, то в нем функция, в ней параметр badge отвечает за цифру function pushSend($title, $text, $tokens, $server_key) { $url = 'https://fcm.googleapis.com/fcm/send'; $headers = array('Authorization: key=' . $server_key, 'Content-Type: application/json'); if (is_array($tokens)) $fields['registration_ids'] = $tokens; else $fields['registration_ids'] = array($tokens); $fields['priority'] = 'high'; $badge = 1; $fields['notification'] = array('body' => $text, 'title' => $title, 'sound' => 'default', 'badge' => $badge); $fields['data'] = array('message' => $text, 'title' => $title); $jsonfields = json_encode($fields); print_r($jsonfields); $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POSTFIELDS => json_encode($fields) )); $result = curl_exec($ch); curl_close($ch); if ($result === false) return false; $json = json_decode($result, true); if ($json['success'] == 0) return false; else return true; }
  15. Вы имеете ввиду FGX? А там - это где? Потому что в разделе этого сайта все также, как тут?
  16. К сожалению форум умирает. Не знаю, связывать ли это с стремлением программеров мигрировать на другие языки и фреймворки, но последнее время специально заходил на форум и смотрел кол-во пользователей. Зрелище не впечатляющее((( Из тех, кто реально может помочь с трудной задачкой осталось пара человек. Может есть другие форумы, где более оживленное общение идет, не знаю...
  17. Прошу прощения за ламерский вопрос, а что такое LogCat и где такое смотреть?
  18. krapotkin, Вам не доводилось в 10.4.2 компилить приложение под Андроид? У меня возникла проблема с 10 Адроидом, описал в этой ветке
  19. А мне надо к item пристегнуть checkbox и объект. При старом items.add - это не работало, поэтому и был такой механизм создания TListBoxItem со всеми нужными параметрами и запихивание его в listbox комбика. В любом случае спасибо, буду дальше рыть
  20. нашел, когда проявляется бага. Попробуйте нажать b1, потом раскрыть комбобокс, увидите значения 1 и 2, затем нажмите b2 и посмотрите что будет в комбобоксе. Ожидаем увидеть 1,2,3,4 ...;)
  21. Проверили именно в 10.4.2?
  22. не работает((( так тоже не работает((( В 10.4.1. все работает всеми способами. Обращу внимание, что проблема именно с перерисовкой listbox внутри combobox
  23. Это первое, что использовал. Все уже перепробовал, и апдейты и репейнты. Не работает, хоть тресни. Причем, если оставить просто form1.ComboBox1.Clear; - то очищение происходит корректно
×
×
  • Создать...