#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
. Итак, ваш ответ не имеет никакого смысла.