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

Как изменить версию АПИ для компиляции проекта


Misha Postovoy

Вопрос

Всем привет. У меня такая проблема:

Имеется аппарат, Samsung s3 mini

На нём стоит android 4.2.2

А все приложения для android, скомпилированные на RAD Studio XE8, на неё не открываются, хотя на других телефонах с андройдом 4.4 и выше, открываются

Что делать?

Я скачал в SDK менеджере API 4.2.2, но дальше не знаю что делать :D

Ссылка на комментарий

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

  • 0
  • Модераторы

По большому счету сдк тут не причём, хватает стандартной комплектации. Дело в самой среде xe8 и наличии библиотеки android support 4 jar

Ссылка на комментарий
  • 0
11 минуту назад, ZuBy сказал:

По большому счету сдк тут не причём, хватает стандартной комплектации. Дело в самой среде xe8 и наличии библиотеки android support 4 jar

Я так и не понял, что делать?

Ссылка на комментарий
  • 0
6 минут назад, ZuBy сказал:

Установить минимум Seattle

Это тот пункт, где идёт выбор что подключать к приложению? Т.е. камера, ГПС и прочее

Если нет - Скинь скрин, куда лезть))

Ссылка на комментарий
  • 0
25 минут назад, krapotkin сказал:

до сиэтла вообще нет смысла программировать на делфи под андроид, где-нибудь, да уткнешься в тупик

Я пишу на C++ в рад студии

Так-то на C# работаю, но в .net так и не понял, как виртуальным редактором дизайна пользоваться

Ссылка на комментарий
  • 0
В 11.06.2016 в 17:28, Misha Postovoy сказал:

Всем привет. У меня такая проблема:

Имеется аппарат, Samsung s3 mini

На нём стоит android 4.2.2

А все приложения для android, скомпилированные на RAD Studio XE8, на неё не открываются, хотя на других телефонах с андройдом 4.4 и выше, открываются

Что делать?

Я скачал в SDK менеджере API 4.2.2, но дальше не знаю что делать :D

Не скажу про XE8, но вот на Seattle буквально на днях столкнулся с похожей ситуацией. Написал приложение, которое тестировал на Android 5, после чего его нужно было установить на другой аппарат (Android 4.2.2), так оно вылетало при запуске… Всю голову поломал, думал уже на яве быстро переделать. А потом просто взял, и написал приложение с нуля (создал новый проект и аккуратно все туда перенес), и о чудо, оно заработало! Что за ерунда, я так и не понял, да и нет желания разбираться. Возможно у вас аналогичный случай.

Изменено пользователем estra
Ссылка на комментарий
  • 0

У меня возникла похожая проблема, но на Berlin. Есть два одинаковых 7'' планшета: на одном оставил версию что была по умолчанию 4.4.2, а на другом обновлял официальную прошивку до последней 5.0.1

На первом проблема с поиском координат (в других программах типа ЯндексНавигатор координаты сразу находит), на втором Segmentation fault при добавлении маркера и создании маршрута на MapView. На третьем 8'' планшете все работает хорошо.

 

Ссылка на комментарий
  • 0
В 14 июня 2016 г. в 18:02, estra сказал:

Не скажу про XE8, но вот на Seattle буквально на днях столкнулся с похожей ситуацией. Написал приложение, которое тестировал на Android 5, после чего его нужно было установить на другой аппарат (Android 4.2.2), так оно вылетало при запуске… Всю голову поломал, думал уже на яве быстро переделать. А потом просто взял, и написал приложение с нуля (создал новый проект и аккуратно все туда перенес), и о чудо, оно заработало! Что за ерунда, я так и не понял, да и нет желания разбираться. Возможно у вас аналогичный случай.

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

Ссылка на комментарий
  • 0
34 минуты назад, Error сказал:

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

Похоже я не внятно объяснил. Приложение небольшое, написано буквально за день, но в процессе написания тестировалось только на Android 5. После чего полученный APK я попытался поставить на Android 4.2.2, и приложение не заработало. При чем тут система контроля версий? Код рабочий и отлаженный, он не перестал работать на тестовом устройстве, но не стал запускаться на другом (не использовавшемся для тестов в процессе разработки). При переносе в новый проект я использовал исключительно copy/paste, ничего от себя не добавляя. И со второго раза приложение пошло. Так что в данном случае система контроля версий тут ни при чем, и ни чем бы не помогла.

Ссылка на комментарий
  • 0

И все же, это подходящая ветка для обсуждения настроек SDK manager.

1. Какой SDK API-Level выбирать?

2. Какую версию build-tools использовать?

3. Какую версию NDK API выбирать?

4. Для чего в Delphi параметры C++ Builder NDK?

5. Как изменять и зачем в манифесте строчка?

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />

6. На что влияют все эти настройки и с точки зрения функционала приложений на различных версиях Android и, важно, при публикации в Google Play?

Кто разобрался в этом? Или давайте вместе разберемся, кидайте ссылки.

Обсудим по порядку?

Ссылка на комментарий
  • 0

1. Выбираю android-19 — чтобы сохранить поддержку Android 4.4.2 и выше

2. Самые новые инструменты построения проектов — в моем случае 24.0.1.

3. Без понятия, на что это влияет — выбираю тоже android-19.

4. Не знаю.

5. Зачем, догадываюсь — Embarcadero поддерживает корректную работу приложений, начиная с версии API 14. Я компилирую проекты под API 19. Как управлять этой строчкой в манифесте? — не знаю

6. ... но ее содержимое существенным образом влияет на фильтры Google.

 

Ссылка на комментарий
  • 0
  • Модераторы
В 26.07.2016 в 08:53, Pax Beach сказал:

И все же, это подходящая ветка для обсуждения настроек SDK manager.

1. Какой SDK API-Level выбирать?

2. Какую версию build-tools использовать?

3. Какую версию NDK API выбирать?

4. Для чего в Delphi параметры C++ Builder NDK?

5. Как изменять и зачем в манифесте строчка?


<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />

6. На что влияют все эти настройки и с точки зрения функционала приложений на различных версиях Android и, важно, при публикации в Google Play?

Кто разобрался в этом? Или давайте вместе разберемся, кидайте ссылки.

Обсудим по порядку?

1. Можно поставить и самую последнюю версию АПИ (на данный момент последняя версия АПИ 24 Android 7, но использовать рискованно, т.к. Студией официально заявлена поддержка только до версии АПИ 23) Google поддерживает обратную совместимость.

2. Частично, выбор зависит от версии АПИ, пример: в "Build Tools, Revision 23.0.0" появилась официальная поддержка Android 6.0 (API level 23). Т.е. если используете АПИ 23, то Build Tools должны быть версии 23.0.0 или более поздней. Опять же поддерживается обратная совместимость. Подобную информацию можно посмотреть тут SDK Build Tools Release Notes

Те же правила относятся и к SDK Tools. По умолчанию студия ставит версию 24.3.3 (19 АПИ)

3. Версия только устанавливаемая вместе со студией! Буквально вчера удалось это на себе прочувствовать. По умолчанию ставится версия NDK r9c. Не обновляйте самостоятельно на последнюю версию, приложения перестанут запускаться на устройствах!

4. Для внутренней работы студии с НДК? не знаю точного ответа...

5. Изменить можно в файле AndroidManifest.template.xml

6. Всё это техническая информация, которая позволяет гуглу выдавать списки приложений под устройство пользователя. Т.е. если у пользователя АПИ 19 устройство, а ваше приложение работает с версиями не ниже 20 АПИ, то этому пользователю не будут показывать ваше приложение.

 

Пример приложения написанного с такими настройками:

  • SDK 23 АПИ
  • NDK r9c
  • в приложении я мониторю версию АПИ, чтобы не пытаться выдать новый функционал из 23 АПИ для версии (например) 19 АПИ.
  • разработка проводилась на устройстве с АПИ 19
  • Тесты прошли на всех версиях АПИ выше 4.4

Приложение: Wifi Info (Установки: активные/всего - 119/337)

Надеюсь хоть немного смог объяснить, хотя сам ещё не до конца понимаю, что хорошо для студии, что плохо...

p.s. Всё описанное выше, справедливо для RAD Studio Berlin

 

Ссылка на комментарий
  • 0
В 14.09.2016 в 13:50, Andrey Efimov сказал:

3. Версия только устанавливаемая вместе со студией! Буквально вчера удалось это на себе прочувствовать. По умолчанию ставится версия NDK r9c. Не обновляйте самостоятельно на последнюю версию, приложения перестанут запускаться на устройствах!

Хочу возразить.
Был у меня такой случай. Проект, который успешно компилировался под android на Berlin 10.1 (без upd1) с ndk из коробки (r9c), в один "прекрасный" день при создании lib[ИмяПроекта].so выдал ошибку:
lib[ИмяПроекта].so: mmap: failed to allocate ........... bytes for output file: Not enough space
Так как со свободным местом было все норм, я стал гуглить подобную ошибку и узнал что она встречается в разных версиях RAD (начиная с XE7). Как решение, предлагалось обновить NDK на более позднюю. Что я и сделал, установив ndk r12b. И это решило мою проблему: с новым ndk проект был успешно откомпилирован и запущен на разных версиях android. 

Ссылка на комментарий
  • 0
34 минуты назад, enatechno сказал:

Как решение, предлагалось обновить NDK на более позднюю. Что я и сделал, установив ndk r12b.

Уже есть и тринадцатая версия. А где на компьютере лежит NDK?

Ссылка на комментарий
  • 0
  • Модераторы
47 минут назад, enatechno сказал:

Хочу возразить.
Был у меня такой случай. Проект, который успешно компилировался под android на Berlin 10.1 (без upd1) с ndk из коробки (r9c), в один "прекрасный" день при создании lib[ИмяПроекта].so выдал ошибку:
lib[ИмяПроекта].so: mmap: failed to allocate ........... bytes for output file: Not enough space
Так как со свободным местом было все норм, я стал гуглить подобную ошибку и узнал что она встречается в разных версиях RAD (начиная с XE7). Как решение, предлагалось обновить NDK на более позднюю. Что я и сделал, установив ndk r12b. И это решило мою проблему: с новым ndk проект был успешно откомпилирован и запущен на разных версиях android. 

только сегодня убедились с Андреем (@Andrey Efimov) что новый NDK не пригоден к использованию.

Приложение даже не открылось, пустой проект. кто хочет убедиться могу скинуть apk

Ссылка на комментарий
  • 0
  • Модераторы

Добавлю, я не знаю почему у вас работает с последним НДК, но я уже дважды убедился, что у меня новый НДК не прокатывает. Собственно говоря, @ZuBy уже предложил скинуть apk, который мы с ним тестили на последнем НДК (13 версия, до этого я пробовал r12b), я так же могу прислать данный apk :) и тестили мы уже на Berlin Update 1.

Повторюсь:

Цитата

... хотя сам ещё не до конца понимаю, что хорошо для студии, что плохо...

Ссылка на комментарий
  • 0
  • Модераторы
12 часов назад, Pax Beach сказал:

Уже есть и тринадцатая версия. А где на компьютере лежит NDK?

в SDK Manager'e можно посмотреть

Ссылка на комментарий
  • 0
В 22.02.2018 в 15:54, Tumaso сказал:

Подниму тему - для текущей версии Tokyo 10.2.2.2004 до какого NDK с r9c можно обновиться или токио так и работает только с r9c?

Припоздал маленько с ответом, конечно. У меня сейчас Tokyo Community Edition. Пробовал все NDK начиная с r9c. Только следующая версия (10 с какими-то буквами) пошла.

Ссылка на комментарий
  • 0

Здравствуйте уважаемые.

Думаю что мой вопрос в продолжении этой темы. Пожалуйста, кто знает, подскажите как решить следующую проблему.

Есть приложение для OS Android сделанное на Сиэтле 10.0 (IDE установлена на ПК с OS Win 7) протестированное  успешно на телефоне Самсунг Галакси J6 (OS Android 9). Пробую скомпелировать и запустить это же приложение на IDE Rio 10.3.2. Компеляция проходит успешно а само приложение на телефоне запускается до заставки и виснет. При установке на телефон его OS сообщает что приложение разработано для другой версии OS Android и будет работать не корректно. Телефон остался тот же с той же OS Android 9. Файлы AndroidManifest старый и новый прилагаю. Также прилагаю фото юнита и SDK менеджера. Всё в архивном файле.

С Уважением. Олег.

Новая папка.rar

Ссылка на комментарий

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

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

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

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

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

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

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

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

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

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