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

Евгений Корепов

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

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

  • Посещение

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

    100

Весь контент Евгений Корепов

  1. Печально, Asus Zenfone 5 с Intel Atom Z2560 показывает что приложение совместимо. Как так то? При публикации приложения гугль сказал что архитектура x86 не поддерживается. Ведь Intel Atom это x86/
  2. Приложение обновилось, доступно здесь https://play.google.com/store/apps/details?id=ru.flintnet.OnlyAds , с нетерпением жду теста от владельцев Intel Atom - приложение не доступно для установки?
  3. Хм, похоже x86 при снятии галки с "$(BDS)\lib\android\release\x86\libnative-activity.so" исключается. Скриншот публикации прилагаю. У кого есть устройства на Intel Atom, посмотрите через пару часов на приложение https://play.google.com/store/apps/details?id=ru.flintnet.OnlyAds , скажет что устройство не поддерживается? И кстати какие еще устройства на x86 исключаться, их много? Что то не встречал адроидов на x86... P.S. Прошу строго не судить, приложение шуточное, на нем обкатывал показ межстраничной рекламы. Кроме показа рекламы оно ничего не делает ;-) Для наглядности добавил скриншот окна Deployment, дабы видно было какую галочку снял.
  4. А если снять галочку с "$(BDS)\lib\android\release\x86\libnative-activity.so" это не исключит Intel Atom из списка поддерживаемых устройств в Google Play? Мне вот не на чем проверить. Есть у кого устройства с Intel Atom? Могу на каком нибудь своем опубликованном приложении протестировать.
  5. Тут вы не правы - на не поддерживаемое устройство нельзя установить приложение и соответственно поставить оценку. От оценки количество новых пользователей зависит на прямую. Когда я внес пол сотни не поддерживаемых устройств вручную в консоли разработчика, приложению с 100`000+ установок, средняя оценка поползла вверх и динамика новых установок значительно улучшилась.
  6. Т.е. замеченные глюки относятся только к интерфейсу? А остальной код? Push оповещения, TCP Indy, HTTP и HTTPS в Indy и THTTPClient, считывание датчиков устройства, работа с камерами, работа с USB OTG устройствами, запись и воспроизведение звука, 3D функционал FireMonkey?
  7. Как и предполагал, овчинка выделки не стоит. Слить работающие и пользующиеся популярностью приложения можно за пару дней. Как бы предложить Google добавить фильтр по архитектуре и моделям процессоров в "Поддерживаемые устройства"? Вручную перелопатить 10 тысяч устройств не возможно. Оперативно добавлять тоже - в месяц выходит несколько десятков устройств на атоме. Может Ebmarcadero поможет продвинуть эту фишку? Господа приближенные к верхам, помогите, не дайте загинуть!
  8. Embarcadero сказала что не поддерживается. Чем чревато снятие этих галочек? Нигде не нашел внятного объяснения. Как я понимаю из проекта исключается нативный исполняемый код для самых массовых процессоров и я рискую получить вместо нескольких сотен, несколько тысяч плохих оценок?
  9. Как исключить устройства с Intel Atom из списка поддерживаемых устройств? Так что бы в Google Play было сообщение "Application does not support this device". Приложения не работают на Intel Atom, но пользователи успешно их устанавливают, естественно запуск не возможен. 80% плохих оценок выставляют как раз пользователи с Intel Atom. Из за этого приложение с потенциальной оценкой 4.5 висит в маркете с 3.8. Обидно однако. Может в манифесте можно что то прописать? Управлять исключениями в консоли разработчика не вариант - вручную исключать устройства для каждого приложения - исключалка сломается. Механизма импорта списка исключенных устройств гугль к сожалению еще не придумал.
  10. Просто столкнулся с странной проблемой, на Android 4.4 запись WriteAllText в System.IOUtils.TPath.GetHomePath работает с какими то перебоями. Такое ощущение что в ~2-3% случаев вызывается исключение. Точнее сказать не могу, сегодня обновлю приложение, добавлю отправку ошибок себе на сервер, тогда точно узнаю. Но других критических мест в коде нет, простой как три копейки.
  11. Вопрос - System.IOUtils.TFile.WriteAllText потокобезопасная процедура? Можно ли использовать в отдельном потоке?
  12. SDK на месте, первым делом проверил его наличие и настройки в Delphi. Обновления java отключены, потому как java для чего то перезаписывает при обновлении конфиги и запрещает коннект с использованием ssl3. А у меня администрирование биллингом на этом завязана, основная работа встает. Да и в точке восстановления список затронутых программ минимальный - акробат реадер и одна игруха. Списал все на фазы луны и регулярные глюки Delphi (наверное намекают что нужно сиэтл покупать срочно, бетатестеров не хватает глюки разбирать ;-)
  13. Не разобрался в чем дело. Откатил систему на точку восстановления недельной давности и все заработало.
  14. Delphi XE8 перестали собираться проекты под Андроид. Ни с того, ни с сего. Пустой проект - тоже самое. При попытке билда вот такие ошибки. Голову сломал уже, не могу понять что произошло. [DCC Error] E2597 D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -ldl D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lc D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lm D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -landroid D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lEGL D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lGLESv2 D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -llog D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -ljnigraphics D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lGLESv1_CM D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\embarcadero\studio\16.0\lib\Android\Release\SysInit.o: in function Sysinit::__getenv(char*):SysInit(.text._ZN7Sysinit8__getenvEPc+0x4): error: undefined reference to 'getenv' [SKIP] D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\embarcadero\studio\16.0\lib\Android\Release\Androidapi.Eglext.o: in function Androidapi::Eglext::eglDestroyImageKHR(void*, void*):Androidapi.Eglext(.text._ZN10Androidapi6Eglext18eglDestroyImageKHREPvS1_+0x4): error: undefined reference to 'eglDestroyImageKHR' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\embarcadero\studio\16.0\lib\Android\Release\System.JSON.o: in function System::Json::initialization():System.JSON(.text._ZN6System4Json14initializationEv+0xc): error: undefined reference to '__aeabi_memset' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function expand_workspace:pcre_compile.c(.text+0x1398): error: undefined reference to 'memcpy' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function compile_regex:pcre_compile.c(.text+0x32d0): error: undefined reference to 'strncmp' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function compile_regex:pcre_compile.c(.text+0x3440): error: undefined reference to 'memset' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function compile_regex:pcre_compile.c(.text+0x6ec8): error: undefined reference to 'strcmp' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function pcre_compile2:pcre_compile.c(.text+0x758c): error: undefined reference to 'strlen' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_compile.o): in function pcre_compile2:pcre_compile.c(.text+0x7838): error: undefined reference to 'memcmp' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x30): error: undefined reference to 'tolower' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x50): error: undefined reference to 'islower' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x64): error: undefined reference to 'toupper' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x6c): error: undefined reference to 'tolower' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0xc8): error: undefined reference to 'isupper' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0xf0): error: undefined reference to 'islower' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x118): error: undefined reference to 'isalnum' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x154): error: undefined reference to 'isspace' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x170): error: undefined reference to 'isxdigit' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x198): error: undefined reference to 'isgraph' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x1c0): error: undefined reference to 'isprint' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x1e8): error: undefined reference to 'ispunct' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x210): error: undefined reference to 'iscntrl' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x254): error: undefined reference to 'isspace' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x264): error: undefined reference to 'isalpha' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x280): error: undefined reference to 'isxdigit' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x290): error: undefined reference to 'isalnum' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/libpcre.a(pcre_maketables.o): in function pcre_maketables:pcre_maketables.c(.text+0x2b0): error: undefined reference to 'strchr' D:\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: d:\\embarcadero\\studio\\16.0\\lib\\Android\\Release/librtlhelper.a(thunk_helpers.o): in function intercept_thunk_index(char const*):./thunk_helpers.c:46: error: undefined reference to '__assert2' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Failed
  15. Согласно http://docwiki.embarcadero.com/RADStudio/Seattle/en/Multi-Device_Application_to_Receive_Push_Notifications , примерно в середине статьи: Project Settings To enable your application to receive remote notifications: Right-click your project in the Project Manager. Choose Project > Options > Entitlement List. Set Receive Push Notification value to True.
  16. "Project Options"->"Entitlement List"->"Receive Push notifications" установлено в True?
  17. Попробовал ваш код. Не помогло. Буфер не очищается. PS. Brovin Yaroslav, кстати TEdit.CheckSpelling = False тоже не убирает подчеркивание. PPS. Delphi RX, Android 4.2.2 Быть такого не может. Отладкой проверяли? Может у вас срабатывает на if Assigned(FClipboardSvc) then и ничего не выполняется. В главной форме не забудьте FClipboardSvc: IFMXClipboardService; и потом: procedure TFormMain.FormCreate(Sender: TObject); begin if not TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, IInterface(FClipboardSvc)) then FClipboardSvc := nil; ...
  18. Сейчас проверил "чистое" приложение в котором рекламы нет и никогда не было и быть не может. И опаньки - "В одном или нескольких активных APK-файлах есть SDK рекламных объявлений: Версия: 47, SDK: AdMob". P.S. Вообще глянул внутрь бинарников, обилие мусора поражает воображение, такое ощущени что компилятор туда складывает всю отладочную информацию и все модули которые идут в составе Delphi, даже если их нет в Uses и их использование не предполагается.
  19. Есть приложение опубликованное на Google Play в двух ипостасях - бесплатное с рекламой и платное без рекламы. Все было нормально, пока Google Play не ввела новый пункт в "Цены и распространение" - "НАЛИЧИЕ РЕКЛАМЫ". Теперь в платной версии мне пишет "В одном или нескольких активных APK-файлах есть SDK рекламных объявлений: Версия: 47, SDK: AdMob". Реклама создается в бесплатной версии динамически. Использую директивы компилятора типа: {$IFDEF IALITE} Fmx.InterstitialAd.Android, FMX.Advertising, {$ENDIF IALITE} В Project options, в Entitlement List галки на AdMob Service не стоит. Бинарный поиск в папке с релизом выдает несколько сотен вхождений фразы AdMob (в основном Androidapi.JNI.AdMob) в файлах classes.dex и libИмя_проекта.so , откуда они там? Директивы компилятора работают, специально писал абракадабру в файлах которые не должны компилится - все хорошо, компилятор не видит этот бред. Где копать? Иначе угрожают заблокировать платное приложение :-(
  20. К сожалению на английском я только чтец, но никак не писец. ;-) Но все равно спасибо за совет.
  21. Вот именно на нексусе с шестым андроидом я и тестил. Не могли бы вы попробовать именно Get с чтением в TStringStream? Потому как крах наступает при записи полученных данных в stream в недрах Indy. Буду безмерно благодарен. Могу завтра собрать тестовый проект для пробы.
  22. Т.е. если у меня не идет перехват исключения какой то функции, то ее надо завернуть еще в одну функцию и ее вызов завернуть в try except? Это как то звучит на грани безумия. В приведенной вам ссылке ничего подобного не увидел. Но вернемся к теме, мне не нужен перехват исключения, мне нужен рабочий код. В коде ошибок нет, он работает под всеми платформами и на всех версиях кроме андроида 6.
  23. Как то так: procedure TFormMain.NotificationCenterReceiveLocalNotification(Sender: TObject; ANotification: TNotification); begin If ANotification.Name.Equals('Взгляни на третью вкладку') Then TabControl.ActiveTab:=TabItem3; NotificationCenter.CancelNotification(ANotification.Name); end;
×
×
  • Создать...