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

MAD_EVAL

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

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

  • Посещение

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

    1

Активность репутации

  1. Like
    MAD_EVAL отреагировална Hevard в Android 10 (API уровня 29)   
    Осталось понять, а как быть с андроид 11?
  2. Thanks
    MAD_EVAL получил реакцию от Ingalime в Альтернатива Google Play   
    Как раз я и публиковал на Амазон, примерно 1/10 эффективность от play market была тогда, сейчас ещё меньше.
     
    Да, все приложения с маркета улетают при бане.
  3. Like
    MAD_EVAL отреагировална brunnengi в Android 10 (API уровня 29)   
    Здравствуйте.
    Некоторые пользователи Delphi 10.3 столкнулись с тем что даже при указании SDK 29 в манифесте проекта, при запуске скомпилированного приложения на платформе Android 10 происходило его падение.
    В августе 30 числа 2020 года было дано решение как пофиксить эту проблему.
    Переход на версию Delphi 10.4 не для всех является приемлемым решением, по разным причинам, к примеру у кого то платные компоненты и нет возможности обновиться до актуальных версий.
    Ниже представлен перевод статьи. В конце будет ссылка на оригинал.
    Приведенное здесь решение нацелено на обновление функции 'dlopen' в файле 'ICU.inc' (он включен в файл 'System.pas'). Вот шаги, необходимые для решения указанной проблемы:
    Откройте проводник и перейдите в папку по следующему пути: C:\Program Files (x86)\Embarcadero\Studio\20.0\source Скопируйте файлы из архива "missing_source_files.zip", который приложен в посту, в папку source из пункта "1" (комментарий от переводчика: в "missing_source_files.zip" лежит папка "rtl" в которой две папки - "posix", "sys". Лично я сделал сначала backup папки rtl из папки source, что и вам советую. Затем скопировал rtl папку из "missing_source_files.zip" и вставил в папку source) Переходим по пути: C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\sys Открываем файл "ICU.inc" в текстовом редакторе (пожалуйста, сделайте backup файла 'ICU.inc' для пущей безопасности). (комментарий от переводчика: орудовать в этой папке без прав админа не вариант. Поэтому я советую сначала скопировать файл "ICU.inc" куда нибудь в другое место, к примеру в папку Documents и там уже открыть его в том же Блокноте и сделав необходимые изменения сохранить файл и затем уже переместить его в C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\sys с заменой) В текстовом редакторе надо изменить функцию InitICU:
    Было вот так: А сделать надо что было вот так:
     


     
    Сохраняем сделанные изменения в файле "ICU.inc"
    Возвращаемся в проводник и переходим в папку %USERPROFILE%
    Скопируйте файл "build.bat" из архива "build_script.zip" , который приложен в этому посту в папку из пункта 7.
    Запустите от имени Администратора файл "build.bat". (Он создаст папку %USERPROFILE%\build в которой будет несколько папок с файлами. Из них нам нужны будут только System.o, но об этом ниже)
    Возвращаемся в проводник и переходим в папку C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\debug
    Скопируйте файл "System.o" из папки %USERPROFILE%\build\android\debug в папку из шага 10 (не забывайте сделать backup всех файл что вы заменяете, на всякий случай).
    Теперь переходим в проводник в папку C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\release
    Скопируйте файл "System.o" из папки %USERPROFILE%\build\android\release в папку из шага 12 (не забывайте сделать backup всех файл что вы заменяете, на всякий случай).
    Переходим в проводник в папку C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\debug
    Скопируйте файл "System.o" из папки %USERPROFILE%\build\android64\debug  в папку из шага 14 (не забывайте сделать backup всех файл что вы заменяете, на всякий случай).
    Переходим в проводник в папку C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\release
    Скопируйте файл "System.o" из папки %USERPROFILE%\build\android64\release в папку из шага 16 (не забывайте сделать backup всех файл что вы заменяете, на всякий случай).
     
    На этом всё. Автор данного перевода лично прошел по всем шагам и сделал всё как было сказано, а также протестил на приложении что уже было в PlayMarket'е но не запускалось под Android 10. Я его обновил и запустил как на Android ниже 10, так и на Android 10. 

    ЕСЛИ ВЫ НЕ ДОВЕРЯЕТЕ ПЕРЕВОДУ И/ИЛИ ВЫЛОЖЕННЫМ ФАЙЛАМ, ТО НИЖЕ ДАНА ССЫЛКА НА ОРИГИНАЛ СТАТЬИ
    // файлы выложенные здесь, взяты с форума где оригинал статьи.

    Ссылка на оригинал https://quality.embarcadero.com/browse/RSP-27218
    Если нет логина, то под споллером скрины экрана с форума ссылки выше:
     
     
    Отдельное спасибо пользователю Stanislau Ihnatovich за сообщение в Telegram о том что есть решение
     
    build_script.zipmissing_source_files.zip
     
  4. Like
    MAD_EVAL получил реакцию от Android в Альтернатива Google Play   
    А убило окончательно аккаунт использование WebView в приложении, в которым был основной контент, мне хотелось попробовать сделать игру на JS и просто подгрузить её в приложение. Всё, вечный бан после этого последовал. Причина - опасная загрузка контента.
    И вообще с гуглом надо осторожно, акк разраба на вес золота.
  5. Like
    MAD_EVAL получил реакцию от Ingalime в Альтернатива Google Play   
    Или, например, как я, случайно в длинном описании повторилось одно слово 4 раза. Итог - спам ключевыми словами.
  6. Like
    MAD_EVAL получил реакцию от Ingalime в Альтернатива Google Play   
    А убило окончательно аккаунт использование WebView в приложении, в которым был основной контент, мне хотелось попробовать сделать игру на JS и просто подгрузить её в приложение. Всё, вечный бан после этого последовал. Причина - опасная загрузка контента.
    И вообще с гуглом надо осторожно, акк разраба на вес золота.
  7. Like
    MAD_EVAL получил реакцию от Ingalime в Шрифты для Android в Rio   
    Погорячился с вопросом, разобрался сам. Может кому надо, вот файл для RIO.
    Подключайте к проекту, прописывайте
    TextSettings.Font.Family := 'font_name'; //  без расширения ttf
    ну и в assets\internal задеплоить сам ttf файл
    FMX.FontGlyphs.Android.zip
  8. Like
    MAD_EVAL получил реакцию от Alex7wrt в Как нажать кнопку программно?   
    Вместо onClick используйте isChecked
  9. Like
    MAD_EVAL получил реакцию от Равиль Зарипов (ZuBy) в Как нажать кнопку программно?   
    Вместо onClick используйте isChecked
  10. Like
    MAD_EVAL отреагировална Major в Работа с Play Services   
    http://www.fmxexpress.com/leaderboards-and-achievements-with-google-play-game-services-in-delphi-xe5-xe6-xe7-firemonkey-on-android/
  11. Like
    MAD_EVAL получил реакцию от enatechno в Ошибка сценария   
    Положите все библиотеки (*.dll) Хромиума в папку с исполняемым файлом. Плюс как минимум 2 папки с локалями и компонентами движка.
    Добавил принтскрин всего того что должно лежать в папке вместе с вашим екзешником.
    Это всё есть в архиве, из которого Вы устанавливали компонент в папке cef3_ChromiumXE6\bin\Win32 (или Win64)
     
     

  12. Like
    MAD_EVAL отреагировална Andrey Efimov в Как вызвать что-нибудь из Android API? Объясните пошагово   
    Кто ищет, тот найдёт...
    Вот вы статью нашли, полазили бы в блоге, например в разделе "Список всех сообщений" и ...
    Как создавать обёртки для JAVA-кода Как подключить и использовать свой JAVA-класс Как добавить jar библиотеку в проект Дальше, воспользовались бы поиском на этом форуме и ...
    Поиск по запросу "обёртки":
    Утилита генерации pas файлов для AndroidAPI из jar файлов + ещё множество полезных тем Ну и наконец: Полностью транслированное Android API 7-23 уровня
    И чуть не забыл, есть же справка официальная Help for RAD Studio Berlin
     
    p.s. Всё уже давно разжёвано, вопросы задают по каким-то конкретным моментам.
  13. Like
    MAD_EVAL получил реакцию от Rusland в Ошибка сценария   
    Положите все библиотеки (*.dll) Хромиума в папку с исполняемым файлом. Плюс как минимум 2 папки с локалями и компонентами движка.
    Добавил принтскрин всего того что должно лежать в папке вместе с вашим екзешником.
    Это всё есть в архиве, из которого Вы устанавливали компонент в папке cef3_ChromiumXE6\bin\Win32 (или Win64)
     
     

  14. Like
    MAD_EVAL получил реакцию от Равиль Зарипов (ZuBy) в Проверить наличие интернета   
    У Андрея Ефимова есть решение. http://delphifmandroid.blogspot.com/2013/12/delphi-xe5.html
  15. Like
    MAD_EVAL получил реакцию от Brovin Yaroslav в Проверить наличие интернета   
    У Андрея Ефимова есть решение. http://delphifmandroid.blogspot.com/2013/12/delphi-xe5.html
  16. Like
    MAD_EVAL получил реакцию от Rusland в TImage Stretch   
    Ресайз приложения лучше сделать до того как помещать его в Timage. Не лучше -ли использоватьTMediaPlayerControl для вывода видео? Если Вы сами как-то расжимаете видео, то может стоит просто обратится к TMediaCodecManager и посмотреть как это делается уже имеющимися средствами. Там ещё в TMediaPlayer есть VideoSize. Посмотрите это всё. Возможно я вас неправильно понял, если это так - объясните чуть подробнее.
  17. Like
    MAD_EVAL получил реакцию от Brovin Yaroslav в Кнопки закрытия TTabControl   
    Добрый день! Изучите статью по этому вопросу: http://stackoverflow.com/questions/14983311/looking-for-a-3rd-party-tabcontrol-in-delphi-firemonkey
  18. Like
    MAD_EVAL получил реакцию от Brovin Yaroslav в TImage Stretch   
    Ресайз приложения лучше сделать до того как помещать его в Timage. Не лучше -ли использоватьTMediaPlayerControl для вывода видео? Если Вы сами как-то расжимаете видео, то может стоит просто обратится к TMediaCodecManager и посмотреть как это делается уже имеющимися средствами. Там ещё в TMediaPlayer есть VideoSize. Посмотрите это всё. Возможно я вас неправильно понял, если это так - объясните чуть подробнее.
  19. Like
    MAD_EVAL отреагировална Равиль Зарипов (ZuBy) в TBitmap и экономия памяти   
    TRectF - не является классом, у него нет конструктора. Create используется чисто синтаксически.
  20. Like
    MAD_EVAL получил реакцию от Равиль Зарипов (ZuBy) в TImage Stretch   
    Ресайз приложения лучше сделать до того как помещать его в Timage. Не лучше -ли использоватьTMediaPlayerControl для вывода видео? Если Вы сами как-то расжимаете видео, то может стоит просто обратится к TMediaCodecManager и посмотреть как это делается уже имеющимися средствами. Там ещё в TMediaPlayer есть VideoSize. Посмотрите это всё. Возможно я вас неправильно понял, если это так - объясните чуть подробнее.
  21. Like
    MAD_EVAL получил реакцию от Dinkin в Кнопки закрытия TTabControl   
    Добрый день! Изучите статью по этому вопросу: http://stackoverflow.com/questions/14983311/looking-for-a-3rd-party-tabcontrol-in-delphi-firemonkey
  22. Like
    MAD_EVAL получил реакцию от Brovin Yaroslav в Компиляция апк   
    Если не хотите чтобы Apk улетал на телефон, нажмите в свойствах проекта Build, после чего зайдите в Deployment, и нажите вверху кнопку Deploy (пиктограмма PLAY) файл apk будет собран, на устройство ничего не полетит. Ну а если apk не был обнаружен - читатйте внимательно логи, возможно с SDK некий трабл, у меня было, например, ZipAlign не находило и тд и тп
  23. Like
    MAD_EVAL отреагировална gonzales в Вылетает приложение для Андроид   
    Сам нашел!!!
    program Project1; uses //System.StartUpCopy, FMX.Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. закоментировал модуль System.StartupCopy и все заработало. Странно, попробывал на других, полноценных приложениях, тоже все завелось. Зачем вообще этот модуль нужен?????
  24. Like
    MAD_EVAL отреагировална zairkz в Получение результата голосового распознавания   
    Если еще актуально:
    Установил компонент SpeechRecognition1 (во вложении)
    Накидываю на форму компонент TSpeechRecognition из панели компонентов
    в нем имеются свойства(у меня следующие):
    AlwaysGuesses: true; Language: ru-RU; Prompt: Пожалуйста скажите ЧЕ нибудь! Объявите глобально FSpeech: TStrings; является своего рода посредником передачи данных иначе все глючит) Теперь при необходимости вызывайте SpeechRecognition1.ListenFor(FSpeech); появится окно обработки голоса Далее в компоненте обработчике OnRecognitionEx прописываем куда распознанный текст должен попасть   Edit1.Text := Guesses[0]; Ссылка на источник http://delphi.org/2014/10/voice-enable-your-android-apps/ но кажись сейчас можно скачать только Триал версию, а во вложении полная версия (да простят меня Боги!), демки там есть, а также примеры для перевода текста в голос.
    Speech.zip
  25. Like
    MAD_EVAL отреагировална Kitty в [Статья] Публикация приложения в Google Play   
    Спасибо. значит так:
    <uses-sdk android:minSdkVersion="19"
×
×
  • Создать...