Перейти к содержанию
  • 0
ksvsvk

Не запускается приложение на эмуляторе

Вопросы

Использую RAD Studio 10.1 Berlin Update 2.

Устанавливаю в Android Tools полностью API-25 и API-17, а также Android SDK Tools 25.2.5, SDK Platform Tools 25.0.6, SDK Build Tools 25.0.3, Google USB Driver.

Настраиваю AVD следующим образом:

Device:  2,7" QVGA slider (240x320: ldpi)
Target:  Andriod 4.2.2 - API Level 17
CPU/ABI:  ARM (armeabi-v7a)
Keyboard: True
Skin:    QVGA
RAM:      512    VM Heap:  16
Internal Storage:  200 MiB

Остальные параметры не заданы.

AVD создается и запускается без ошибок.

При запуске Delphi в Target вижу созданное устройство как нерабочее и дополнительную строку "Emulator-5554" которую выбираю в качестве текущего устройства.

При этом в опциях SDK Manager значится

SDK base path:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows
ZipAlign location:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows\build-tools\25.0.3\zipalign.exe
Android location:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows\tools\Android.bat
Adb location:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows\platform-tools\Adb.exe
Aart location:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows\build-tools\25.0.3\aapt.exe
SDK API-level location:
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-sdk-windows\platforms\android-25

Ничего не добавляя на форму ставлю ее свойства
Visible := True;
FormFactor.Device := [Desctop,iPhone,iPad];
Height := 300;
Width := 200;

Жму Shift + CTRL + F9 и в окне эмулятора читаю сообщение: "Unfortunately, Project1 has stopped.

Таким образом приложение откомпилировалось без ошибок, нормально установилось на эмулятор, но при этом отказалось запускаться. Как вариант может сообщение не выдаваться, но вместо моей формы — черный экран. Третью неделю не могу разобраться, что у меня не так. Подозреваю, что причина где-то в параметрах SDK Manager, но где именно?

 

Поделиться сообщением


Ссылка на сообщение

Рекомендуемые сообщения

  • 0

можно вообще ничего не устанавливать на форме. на мобильных она открывается на весь экран автоматически

а почему не нажать F9 ?

возможно, дебаггер тоже что-нибудь добавит от себя

vm heap тоже бы побольше

попробуйте также выбрать какой-нибудь телефон не настолько шпионского размера

Отредактировал krapotkin

Поделиться сообщением


Ссылка на сообщение
  • 0

Перебирал различные параметры устройства и версии Android. Остановился на приведенных ниже. Отладка показывает, что форма создается, но на экране эмулятора ее нет :(.592bde11109ec_.thumb.png.7a872216731fdfd1105daf95ff5f7a5c.png

При этом работает отладчик. Ставлю стоп в обработчике события Form1.onShow и вижу, что размеры формы имеют огромные отрицательные значения. При этом размеры формы в проекте

Height := 300;

Width := 150;

Я не помню, на каком этапе считываются заданные размеры, возможно на момент обработки onShow они еще не считаны. Но вряд ли при этом должны быть такие значения:

592be0b6d1773_.png.999fb327179228efa62321a6c4a37659.png

Поделиться сообщением


Ссылка на сообщение
  • 0

а если убрать HW keyboard и добавить VM heap ?

размеры формы в проекте никакого значения не имеют

Поделиться сообщением


Ссылка на сообщение
  • 0

была вроде подобная тема, автор наверное что-то делает в OnResize формы. вот проект и вылетает

Поделиться сообщением


Ссылка на сообщение
  • 0

Вы в курсе что Embarcadero рекомендует использовать API которое идет по умолчанию со средой, и не рекомендует сторонние не проверенные со средой версии? У меня на Berlin update 2 стоит 24.3.3 - версия которая пришла со средой, все работает стабильно уже длительное время. 

Поделиться сообщением


Ссылка на сообщение
  • 0
В ‎30‎.‎05‎.‎2017 в 12:59, krapotkin сказал:

а если убрать HW keyboard и добавить VM heap ?

Пробовал увеличивать VM heap до 64, HW keyboard убрал. Не помогло.

В ‎31‎.‎05‎.‎2017 в 21:43, Равиль Зарипов (ZuBy) сказал:

была вроде подобная тема, автор наверное что-то делает в OnResize формы. вот проект и вылетает

onResize у меня пустой.

 

В ‎01‎.‎06‎.‎2017 в 06:10, ENERGY сказал:

Вы в курсе что Embarcadero рекомендует использовать API которое идет по умолчанию со средой, и не рекомендует сторонние не проверенные со средой версии? У меня на Berlin update 2 стоит 24.3.3 - версия которая пришла со средой, все работает стабильно уже длительное время. 

А вот с этим разобраться не смог. Сразу после установки в SDK Base Path несколько параметров с недопустимыми значениями. При компиляции проекта RAD Studio предлагает провести доустановку модулей, но это завершается неудачей. В Android Tools версия 24.3.3 отсутствует.

AVD.png.8aac2dfa5e49f3115c17555bb641150e.png

При этом запуск эмулятора с версиями API-24, API-25 длится бесконечно долго. Также в постановке задачи от работодателя значится "Приложение должно работать на Android начиная с версии 4.3. Как это обеспечить?

Поделиться сообщением


Ссылка на сообщение
  • 0

@ksvsvk

Ну так удалите среду полностью, а затем поставьте с нуля, поставив в инсталяторе галочки на Android SDK.

Цитата

"Приложение должно работать на Android начиная с версии 4.3. Как это обеспечить?

Программа откомпилированная на старшем API будет работать и на старых версиях Android (вообще с Delphi от 4.0.1 - 7).

В общем вам на это не нужно обращать внимания, до тех пор пока вам не понадобится какая то  из функций из Android API (вызвать вручную) - там уже нужно ориентироваться на справку и искать альт. методы которые народ использовал в предыдущих версиях.

 

 

 

Отредактировал ENERGY

Поделиться сообщением


Ссылка на сообщение
  • 0

совсем не нужно выкачивать тот же самый дистрибутив SDK, только из установщика Delphi

я начиная с XE5 не менял SDK/NDK, просто указывал пути к ним. уж точно не требуется сносить для этого студию

переустанавливать их тоже можно совершенно отдельно и независимо

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

 

Поделиться сообщением


Ссылка на сообщение
  • 0

у меня в берлине сейчас SDK называется 24.4.1 но SDK API-level location смотрит на папку E:\AndroidSdk\platforms\android-19

отлично работает

так что можете переустановить Java, SDK, NDK в папки поближе и просто настроить их в Tools-Options-SDK manager

Отредактировал krapotkin

Поделиться сообщением


Ссылка на сообщение
  • 0

Перепробовал все возможное и невозможное. Ставил Delphi 10.1 и Delphi 10.1 Update 2. Отдельно установлены SDK и NDK в C:/ProgramFiles/Android.

На пустое приложение в конфигурации по умолчанию выдает Illegal instruction (4). При клике на "Break" выбрасывает на 22750 строку файла C:/Program Files/Embarcadero/Studio/18.0/Source/RTL/SYS/System.pas

:(

Поделиться сообщением


Ссылка на сообщение
  • 0
4 часа назад, ksvsvk сказал:

 

Проблема в том, что вы используете сторонние SDK. Я вот на днях переустанавливал Windows 10 + Delphi 10.1 Update 2 - никаких проблем не было, сразу после установки откомпилировал проект под Android.

Да ,и я ставил релиз уже со встроенным Update 2. Т.е. не устанавливал его отдельно.

 

Отредактировал ENERGY

Поделиться сообщением


Ссылка на сообщение
  • 0

Я за полтора года разработки под Android ниразу не использовал эмулятор, т.к. на мобильном удобней и быстрее.. И EMB рекомендует отладку и разработку проводить на реальном мобильном девайсе, а не на эмуляторе.

Поделиться сообщением


Ссылка на сообщение
  • 0
В 28.06.2017 в 19:03, ENERGY сказал:

Я за полтора года разработки под Android ниразу не использовал эмулятор, т.к. на мобильном удобней и быстрее.. И EMB рекомендует отладку и разработку проводить на реальном мобильном девайсе, а не на эмуляторе.

 

А у меня возникла проблема и пришлось использовать.

Проблема следующего характера.

Если в targetSDK указать что-то большее, чем 22, то Broadcast reciever не получает сообщения. Чтобы протестировать и убедиться, и проэкспериментировать пришлось настраивать запускать эмулятор на Android 7.

Но да - на устройстве правильнее, но придётся покупать несколько устройств с разными андроидами: 4, 5, 7, 8 и т.д.

Отредактировал x11

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...