Что я должен установить для compileSdkVersion, minSdkVersion и targetSdkVersion для поддержки от Marshmallow до Pie?

#android #android-gradle-plugin #build.gradle #android-version

#Android #android-gradle-plugin #build.gradle #android-версия

Вопрос:

Мое приложение для Android может устанавливаться в Oreo amp; Pie без каких-либо проблем. Если я попытался установить сборку выпуска в версии телефона Marshmallow amp; Nougat, она выдает ошибку «При разборе пакета произошла ошибка», Пожалуйста, найдите мою версию sdk в gradle

 compileSdkVersion 28
  minSdkVersion 21
  targetSdkVersion 28
  implementation com.android.support:appcompat-v7:28.0.0
  implementation com.android.support:support-v4:28.0.0
  implementation com.android.support:design:28.0.0
  

Предположим, если я изменю свою версию compile amp; target sdk на 26, будет ли это работать на устройствах Marshmallow и Nougat? Если я изменю версию SDK на 26 и библиотеки поддержки на 26.0.0, я получаю ошибку сборки, например, сбой связывания ресурсов Android.

Пожалуйста, помогите мне решить эту проблему и предоставить решение для моего приложения Android, которое должно поддерживать от marshmallow до pie [последняя версия прямой совместимости].

Заранее спасибо

Комментарии:

1. Пожалуйста, проверьте это: techxoom.com / …

Ответ №1:

Согласно вашей градации сборки, я думаю, что ваша buildToolsVersion неверна.

 buildToolsVersion '28.0.3'
  

Измените вашу buildToolsVersion, как указано выше.

Ответ №2:

В вашем файле build.gradle нет изменений. Пожалуйста, продолжайте с той же конфигурацией «compileSdkVersion 28 minSdkVersion 21 targetSdkVersion 28 «. Это выглядит нормально

Я предполагаю, что проблема в выпуске apk. Пожалуйста, перепроверьте следующую распространенную ошибку:

  • Вы устанавливаете релиз apk непосредственно с SD-карты.(Вы не должны устанавливать release apk напрямую, вам нужно опубликовать в play console, тогда только вы сможете использовать свой apk, в противном случае вы должны использовать только отладочный apk)
  • Номер версии (независимо от того, используется ли она уже)
  • Вы переименовали свой APK-файл релиза? — Если вы это сделали, пожалуйста, переименуйте обратно на старое имя.
  • Исправьте уровень API в файле манифеста. ( Перекрестная проверка с помощью файла build.gradle)

Ответ №3:

Всем привет, спасибо за предложение и комментарии. Наконец-то я нашел, в чем проблема в версии Nougat 7.0.

Проблема не в gradle. Проблема из-за имени моего пакета в папке проекта, т.Е. все действия, службы, утилиты, модели, название пакета начинается с заглавной буквы, поэтому выдается сообщение об ошибке, в котором говорится, что в файле манифеста Android android: name не определено [не удается распознать при попытке установки на устройство Nougat].

Обнаружена проблема при установке версии apk в симуляторе API уровня 24 и 25 и обнаружена ошибка в LogCat.

Как только я изменил все названия пакетов в своем проекте с маленькой буквы, то есть действия, службы, утилиты, теперь я могу установить релиз apk на устройство версии Nougat.

Теперь не удается установить его в Marshmallow device 6.0. На этот раз я получаю сообщение об ошибке «Приложение не установлено«

Пожалуйста, дайте мне знать, чего не хватает для устройств версии 6.0.

Заранее спасибо

Комментарии:

1. Исправлено. Выбор подписанных версий v1 и v2 при создании подписанного релиза apk решил проблему для меня.. Теперь мое приложение работает нормально от Marshmallow до Pie. Спасибо

Ответ №4:

compileSdkVersion и targetSdkVersion обычно поддерживаются одинаковыми, и, определяя это, вы сообщаете приложению, для каких устройств Android вы специально создаете приложение. Итак, каким бы ни было ваше targetSdkVersion приложение, в этом случае оно будет работать наиболее плавно.

minSdkVersion это минимальный sdk, на который вы хотите настроить таргетинг. Итак, если вы хотите, чтобы минимальное поддерживаемое устройство было a Marshmallow тогда приложение не будет доступно для устройства, имеющего версию api ниже Marshmallow , фактически приложение даже не появится в playstore.

Комментарии:

1. Вопрос Op заключается не в определении, а в ОШИБКЕ There is error while parsing the package . Итак, ваш ответ не имеет никакого смысла.