Андрей Рулин Опубликовано 6 ноября, 2023 Поделиться Опубликовано 6 ноября, 2023 На Delphi 11 создаю приложение на Android32, всё работает. На 64 пишет максимум заставку, но реально не запускается. У меня в приложении есть логирование , которое на старте выполняет такой код procedure TForm1.FormCreate(Sender: TObject); var i:Integer; s,s1:string; begin s:='debug.txt'; {$IFDEF ANDROID} S1:= TPath.GetPublicPath+'/'+s; Assignfile(f,s1); //Список операторов s1:=''; {$ELSE} Assignfile(f,s); //Список операторов {$ENDIF} Rewrite(f); На Android32 , логирование соотвественно идёт нормально. На Android64 даже вообще файл debug.txt не создаётся. В каком направлении примерно хотя бы копать? Цитата Ссылка на комментарий
0 OnePeople Опубликовано 6 ноября, 2023 Поделиться Опубликовано 6 ноября, 2023 1. Разрешения приложения на чтение запись файлов 2. Файлы в Deployment для 32 и 64 бит разные, проверьте Цитата Ссылка на комментарий
0 Андрей Рулин Опубликовано 6 ноября, 2023 Автор Поделиться Опубликовано 6 ноября, 2023 (изменено) 1.Read и Write external Storage стоит как true на обоих версиях. Что-то есть ещё? 2. Сравнил папку assets - все файлы одинаковые. Манифест отличается только названием после com, чтобы одновременно на телефоне запускать и 32 и 64 бита. classes.dex для 64 бит огромный 5 Мб, но может это так и надо. Это если в папке Android64\Debug\****\classes\ А в папке Android64\Debug\*****.classes\ - файл внезапно одинаковый с версией 32 бита и составляет 143 Кб. 3. Если создать пустой проект по умолчанию и откомилировать с кодом выше, то работает на 64. 4. Если все файлы в пустом проекте задеплоить, что и в основном , всё тоже работает. Изменено 6 ноября, 2023 пользователем Андрей Рулин Цитата Ссылка на комментарий
0 Андрей Рулин Опубликовано 6 ноября, 2023 Автор Поделиться Опубликовано 6 ноября, 2023 Проблема решена - создал с нуля новый проект, который описал в п.3. и перекопировал туда все файлы из старого. И ведь не первый раз сталкиваюсь , очень похожий же глюк был с проектами к примеру при компиляции проектов Win32 из Delphi 2006 на новых версиях(но тогда не компилировалось). А всё как в первый раз... Цитата Ссылка на комментарий
Вопрос
Андрей Рулин
На Delphi 11 создаю приложение на Android32, всё работает.
На 64 пишет максимум заставку, но реально не запускается. У меня в приложении есть логирование , которое на старте выполняет такой код
procedure TForm1.FormCreate(Sender: TObject); var i:Integer; s,s1:string; begin s:='debug.txt'; {$IFDEF ANDROID} S1:= TPath.GetPublicPath+'/'+s; Assignfile(f,s1); //Список операторов s1:=''; {$ELSE} Assignfile(f,s); //Список операторов {$ENDIF} Rewrite(f);
На Android32 , логирование соотвественно идёт нормально.
На Android64 даже вообще файл debug.txt не создаётся. В каком направлении примерно хотя бы копать?
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.