Yarpda Опубликовано 4 апреля, 2018 Опубликовано 4 апреля, 2018 Google постоянно обновляет и выпускает новые SDK. Хотелось бы для себя прояснить есть ли смысл собирать свой пакет в самых последних версиях SDK. Есть ли в случае FMX разница под каким SDK и NDK (настройки SDK Manager) собрано приложение? И если есть то какая? Цитата
0 ENERGY Опубликовано 4 апреля, 2018 Опубликовано 4 апреля, 2018 Желательно выбирать тот SDK, который советует EMBT т.к. он протестирован = более стабильная программа (прога все равно будет прекрасно работать под последним Android 8). Плюс еще новый SDK сам по себе может быть сырой. Но скоро нам всем придется делать с последними SDK : Starting in late-2018, all new and updated apps will be required to target an SDK that is no more than 1 year older than the current codename release. https://www.androidpolice.com/2017/12/19/play-store-require-new-updated-apps-target-recent-api-levels-distribute-native-apps-64-bit-support/ Равиль Зарипов (ZuBy), FREEFAR, Ingalime и 1 другой 3 1 Цитата
0 Yarpda Опубликовано 5 апреля, 2018 Автор Опубликовано 5 апреля, 2018 10 часов назад, ENERGY сказал: Желательно выбирать тот SDK, который советует EMBT т.к. он протестирован = более стабильная программа (прога все равно будет прекрасно работать под последним Android 8). Плюс еще новый SDK сам по себе может быть сырой. Но скоро нам всем придется делать с последними SDK : Starting in late-2018, all new and updated apps will be required to target an SDK that is no more than 1 year older than the current codename release. https://www.androidpolice.com/2017/12/19/play-store-require-new-updated-apps-target-recent-api-levels-distribute-native-apps-64-bit-support/ Тут то как раз вопрос, это на что-то может повлиять (исправление, например исправление ошибок, которые были в прошлых SDK, а в новых типа нет. Или может быть компоненты по другому как-то начитают выглядеть и т.д.). А TargetSDK можно прописать какой-хочешь вручную и собрать под каким хочешь... И Google play это никак не ловит. А версия NDK например на что-то влияет или вообще можно не обращать на это внимание? Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 6 апреля, 2018 Модераторы Опубликовано 6 апреля, 2018 В 05/04/2018 в 08:14, Yarpda сказал: Тут то как раз вопрос, это на что-то может повлиять (исправление, например исправление ошибок, которые были в прошлых SDK, а в новых типа нет. Или может быть компоненты по другому как-то начитают выглядеть и т.д.) вы не работаете напрямую с СДК и на отрисовку компонентов fmx это никак не влияет. Нету натива в fmx под андроид, похожимим контролы выглядят из-за стилей. То что вы передернули ControlType в native вам это ничего не даст) В 05/04/2018 в 08:14, Yarpda сказал: А TargetSDK можно прописать какой-хочешь вручную и собрать под каким хочешь... И Google play это никак не ловит бред какой-то. В 05/04/2018 в 08:14, Yarpda сказал: А версия NDK например на что-то влияет или вообще можно не обращать на это внимание? Вам нужно пройти начальные курсы по андроиду, коих в интернете куча. и ответов что такое SDK/NDK/TargetSDK давно разжёваны Цитата
0 Yarpda Опубликовано 6 апреля, 2018 Автор Опубликовано 6 апреля, 2018 3 минуты назад, Равиль Зарипов (ZuBy) сказал: бред какой-то. Ну почему же бред. В настройках SDK делфи стоит ссылка на 23 SDK. В Манифесте руками правлю на любой от 14 до 28. Все собирается. В маркет заливается. Или я, что-то не так делаю? Цитата
0 haword Опубликовано 6 апреля, 2018 Опубликовано 6 апреля, 2018 2 часа назад, Равиль Зарипов (ZuBy) сказал: бред какой-то. да нет, все правильно. целевой sdk можно указывать любой для которого обеспечена совместимость. а вот минимальный зависит от того на какой версии он будет запускаться. но при этом вы гарантируете работу программы на sdk от минимальной до целевой. Ingalime и Равиль Зарипов (ZuBy) 2 Цитата
-1 Модераторы Равиль Зарипов (ZuBy) Опубликовано 6 апреля, 2018 Модераторы Опубликовано 6 апреля, 2018 4 часа назад, Yarpda сказал: Ну почему же бред. В настройках SDK делфи стоит ссылка на 23 SDK. В Манифесте руками правлю на любой от 14 до 28. Все собирается. В маркет заливается. Или я, что-то не так делаю? 1) уже ответил @haword. Нужно обеспечивать совместимость, т.к. последние годы андроид усиленно работает над безопасностью разделили разрешения на обычные и опасные, закрыли доступ к мак адресам 2) как понять "И Google play это никак не ловит"? Цитата
0 Yarpda Опубликовано 6 апреля, 2018 Автор Опубликовано 6 апреля, 2018 36 минут назад, Равиль Зарипов (ZuBy) сказал: 1) уже ответил @haword. Нужно обеспечивать совместимость, т.к. последние годы андроид усиленно работает над безопасностью разделили разрешения на обычные и опасные, закрыли доступ к мак адресам Ага, видимо по-этому Эмбаркадеро ставит в MIN и TargetSDK только 14 и не дает менять в настройках проекта. Чтобы обеспечить поддерживаемую совместимость. )) А если хочешь, то ты конечно можешь в манифесте руками поменять, но мы дальше не причем. (Интересно как они будут выходить из этой ситуации в связи с новой политикой Google про TargetSDK). Мне кажется как должно быть: миниальное СДК ты ставишь, а TargetSDK ставит система в зависимости от того на какой версии SDK был действительно собран этот пакет. (Кстати я уже столкнулся с проблемами с MediaPlayer при ручной смене TargetSDK более 17). А как быть тем кого Гугл заставит поменять ТаргетСДК в скором времени? 43 минуты назад, Равиль Зарипов (ZuBy) сказал: 2) как понять "И Google play это никак не ловит"? Ну как понять. Когда закидываешь APK на Маркет, Гугл анализирует содержание пакета. По-идее он мог бы и проверять под каким SDK собран пакет и какой стоит в TargetSDK и говорить о несоответствии и запрещать публиковать такие APK. Но он этого не делает, поэтому можно собрать под любым SDK и в манифесте руками поставить любой и все пройдет, а действительную совместимость никто не проверяет. Вот что я имел ввиду. Цитата
0 Tumaso Опубликовано 6 апреля, 2018 Опубликовано 6 апреля, 2018 52 минуты назад, Yarpda сказал: Ну как понять. Когда закидываешь APK на Маркет, Гугл анализирует содержание пакета. По-идее он мог бы и проверять под каким SDK собран пакет и какой стоит в TargetSDK и говорить о несоответствии и запрещать публиковать такие APK. Но он этого не делает, поэтому можно собрать под любым SDK и в манифесте руками поставить любой и все пройдет, а действительную совместимость никто не проверяет. Вот что я имел ввиду. Абсолютно неправильное понимание. Гугл анализирует minSdkVersion и targetSdkVersion не для того, чтобы запрещать публикацию apk в google play, а для того, чтобы: 1. ограничить установку apk на устройства с sdk, меньшей чем minSdkVersion - т.е. если например minSdkVersion="18", то на Android ниже 4.3 гугл плей не даст установить 2. использовать на устройстве sdk наиболее приближенной к targetSdkVersion (но не превышая) - т.е. если например targetSdkVersion="23", то на Android 4.3 будет использовать sdk 18, на android 8.1 - sdk 23 Ingalime 1 Цитата
0 haword Опубликовано 6 апреля, 2018 Опубликовано 6 апреля, 2018 5 часов назад, Yarpda сказал: TargetSDK ставит система в зависимости от того на какой версии SDK был действительно собран этот пакет. нет, это не зависит от версии. это напрямую зависит от поддержки программой этой sdk. например в делфи сейчас официально нет поддержки запроса разрешений. а значит выставить целевой sdk 23 уже не можем. Цитата
0 Yarpda Опубликовано 6 апреля, 2018 Автор Опубликовано 6 апреля, 2018 5 часов назад, Tumaso сказал: Абсолютно неправильное понимание. 2. использовать на устройстве sdk наиболее приближенной к targetSdkVersion (но не превышая) - т.е. если например targetSdkVersion="23", то на Android 4.3 будет использовать sdk 18, на android 8.1 - sdk 23 С MinSDK все понятно. С TargetSDK "не все так однозначно". Ставится она не средой разработки, а руками в манифесте и никто этого не проверяет. Может быть это и нормально, но для меня как начинающего программиста на Андроид это немного смущает. Хотя по идее этот SDK влияет на поведение программы на конечном устройстве. 6 часов назад, Yarpda сказал: TargetSDK ставит система в зависимости от того на какой версии SDK был действительно собран этот пакет. 28 минут назад, haword сказал: нет, это не зависит от версии. это напрямую зависит от поддержки программой этой sdk. например в делфи сейчас официально нет поддержки запроса разрешений. а значит выставить целевой sdk 23 уже не можем. Таким как раз я и хотел бы идеть поведение среды разработки. А сейчас мы как и можем поставить любую ТаргедСДП, хоть 28-ую, хотя в действительной поддержки этого SDK в приложении нет. И ни Emb, ни Market никак на это не реагирует. В общем для меня этот подход весьма странен. Хотя может я чего-то и не понимаю... Цитата
0 Администраторы Brovin Yaroslav Опубликовано 6 апреля, 2018 Администраторы Опубликовано 6 апреля, 2018 Нативное приложение практически не возможно проверить на соответствие конкретной версии SDK статистическим анализом. Поскольку вызов джава апи идет динамически через JNI. Поэтому тут нету никаких намеков на то, что можно проверить. В йос например проверяют через прокси. Запускают приложение в живую, но в АПИ йос встраивается посредник, который чекает, какие мессаджи вы посылаете и не используете ли вы приватное АПИ. Другой вопрос, что я не уверен, что на бюджетные телефоны до 3000 будут ставить последнюю версию андроида. Она там тупо не взлетит. И пока такое требование к поддержке последней версии андроида выглядит сомнительно. Цитата
0 haword Опубликовано 9 апреля, 2018 Опубликовано 9 апреля, 2018 (изменено) В 06.04.2018 в 17:44, Brovin Yaroslav сказал: Другой вопрос, что я не уверен, что на бюджетные телефоны до 3000 будут ставить последнюю версию андроида. Она там тупо не взлетит. И пока такое требование к поддержке последней версии андроида выглядит сомнительно. да нет, гугль заставляет программистов в своем приложении поддерживать все функции новых АПИ, но при этом если они захотят предоставлять совместимость со старыми версиями АПИ то пускай делают что то типа развилок в программах - если апи такое то такая функция а если такое то такая. что бы при запуске на новых версиях ос программы не падали. видать в следующих апи хотят полностью избавиться от устаревших вызовов функций. Изменено 9 апреля, 2018 пользователем haword Rusland 1 Цитата
0 ENERGY Опубликовано 9 апреля, 2018 Опубликовано 9 апреля, 2018 (изменено) В 4/6/2018 в 17:44, Brovin Yaroslav сказал: Другой вопрос, что я не уверен, что на бюджетные телефоны до 3000 будут ставить последнюю версию андроида. Она там тупо не взлетит. И пока такое требование к поддержке последней версии андроида выглядит сомнительно. Выйдет Android GO - “Android 8 Oreo (Go Edition). Это урезанный Андроид, для бюджетных смартов. https://www.theverge.com/circuitbreaker/2018/3/1/17052912/what-is-android-go To address those problems, Google has done three things: Make Android run better on phones with 1GB of RAM or less Make Android (the OS itself) take up less space Make Android’s preinstalled apps take up less space and use less data Кстати Android 8 на данный момент хуже оптимизирован чем 7 (Android One - чистый Android без надстроек производителя). У меня смарт обновился до 8, поюзав его некоторое время - я перепрошил обратно на Android 7 - он очень быстрый. В 8 были заметны проблемы с производительностью ,к примеру при быстром переключении Оперы она слегка подлагивала и мерцала. При этом смарт у меня мощный - видео в 4к 30 fps , GTA SA на максималках, 4 гб оперативы. Изменено 9 апреля, 2018 пользователем ENERGY Ingalime 1 Цитата
Вопрос
Yarpda
Google постоянно обновляет и выпускает новые SDK. Хотелось бы для себя прояснить есть ли смысл собирать свой пакет в самых последних версиях SDK. Есть ли в случае FMX разница под каким SDK и NDK (настройки SDK Manager) собрано приложение?
И если есть то какая?
13 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.