Исключение из первого шанса - Ошибка сегментации (11) при запуске на 2.3 - XE5 Firemonkey
Кто-нибудь знает, что происходит с этой ошибкой сегментации (11) в XE5 при запуске на эмуляторе Android 2.3?
Я видел два других сообщения здесь о SO: Ошибка сегментации класса (11) Исключение ошибки сегментации приложения Android delphi (11) при вызове Firedac
Но ни одна из них не моя проблема. Кажется, я не могу запустить даже пустой проект, так как я получаю эту ошибку при запуске в режиме отладки, и приложение просто закрывается на самом Android.
Я обнаружил, что была исправлена проблема, заявленная как:
117153 Приложение FMX по умолчанию падает на Android 2.3.3 без разрешения здесь
Поэтому я перешел к пустому проекту и установил для всех разрешений значение True, но он все равно вылетает.
Я только что получил XE5 Update 1. Но по ссылке выше я не могу найти информацию, в какой версии XE5 была исправлена ошибка и почему нигде не указано, что это обычная ошибка, а скорее как "без разрешения".
На самом деле не пробовал на реальном устройстве ниже 2.3.7 (на котором приложение работает нормально), так как у меня его нет, но только в эмуляторе, который равен 2.3, и его нельзя выбрать другим, кроме этого Тем не менее мне нужно запустить приложение на телефоне 2.3.5 (на самом деле я делаю приложение специально для Samsung Galaxy S plus).
Есть ли какая-либо информация, если эта ошибка также возникает в 2.3.5, или это только проблема 2.3.3, или просто проблема эмулятора...?
Как David Heffernan в посте выше, это проблема доступа к памяти, но я не могу понять, почему и к чему пытается обратиться приложение, если оно пустое?
Код, который я пытаюсь запустить, буквально пуст:
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
end.
Благодарю.
1 ответ
В документации четко указано, что эмулятор Gingerbread (2.3.3-2.3.7) не поддерживается. Смотрите две строки, отмеченные ** ниже.
Решение заключается в разработке непосредственно на устройстве, а не на эмуляторе. (В любом случае, вы обнаружите, что в действительности это работает намного лучше; эмуляторы Android в Windows работают довольно медленно.)
RAD Studio поддерживает разработку на устройствах ARMv7, работающих под управлением следующих версий операционной системы Android:
Android OS Name Android OS Versions API Levels
KitKat
Android 4.4
API Level 19
Jelly Bean
Android 4.1.x, 4.2.x, 4.3.x
API Levels 16, 17, 18
Ice Cream Sandwich
Android 4.0.3 and 4.0.4
API Level 15
Gingerbread
**Android 2.3.3 – 2.3.7**
API Level 10
Notes: RAD Studio does not support the following:
Honeycomb (Android 3.x)
**Gingerbread emulator**
Tegra 2 devices (NEON support is required)