Должна ли версия компиляции Android быть такой же, как целевая версия в Eclipse?

Мне нужно установить для целевой версии SDK проекта Android значение API 14. Но у меня нет той же версии, доступной для компиляции проекта. Я знаю, что проект можно скомпилировать с другой версией, но мне нужно знать, вызовет ли это какие-либо проблемы.

Я получил ошибку «Файл манифеста Android отсутствует», хотя она существует. Когда я очистил, а затем построил проект, он был скомпилирован, но приложение вылетело. Что я здесь делаю не так?

Это были мои настройки. Должна ли версия компиляции Android быть такой же, как целевая версия в Eclipse?

1
0
435
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

compileSdkVersion
CompileSdkVersion - это версия API, с которой скомпилировано приложение. Это означает, что вы можете использовать функции Android API, включенные в эту версию API (как и все предыдущие версии, очевидно). Если вы попытаетесь использовать функции API 16, но установите для compileSdkVersion значение 15, вы получите ошибку компиляции. Если вы установите compileSdkVersion на 16, вы все равно сможете запускать приложение на устройстве с API 15, пока пути выполнения вашего приложения не будут пытаться вызывать какие-либо API, специфичные для API 16.

targetSdkVersion
TargetSdkVersion не имеет ничего общего с тем, как ваше приложение скомпилировано или какие API вы можете использовать. Предполагается, что targetSdkVersion указывает на то, что вы протестировали свое приложение на указанной вами версии (предположительно до и включительно). Это больше похоже на сертификацию или подписку, которую вы даете ОС Android в качестве подсказки о том, как она должна обрабатывать ваше приложение с точки зрения функций ОС.

Что касается явной ошибки, вы можете попробовать (если вы используете студию Android), нажав Файл> Недействительные кеши / перезапустить или принудительно выполнить синхронизацию градиента

Я использую Eclipse, избавился от ошибки, но приложение вылетает. Это просто пустое приложение. Я думаю, это связано с несоответствием версий SDK.

Ishara Amarasekera 01.04.2018 23:09

В идеале вы должны установить целевой и минимальный SDK на 14 или самый низкий API, который вы хотите развернуть.

Loz 01.04.2018 23:32
Ответ принят как подходящий

При компиляции с более высокой версией не должно возникать проблем, это даже рекомендуется. Вы можете найти больше по этой теме в этом Средняя статья.

Я также хотел бы обратить ваше внимание на следующий блог, который содержит важную информацию о таргетинге SDK в ближайшем будущем.

К сожалению, я не использую Eclipse, поэтому боюсь, что не могу предоставить какие-либо достоверные сведения по этому поводу. Однако предложения, которые я нашел до сих пор, включают:

  • Очистка проекта
  • Избавьтесь от таких символов, как ö, ë и т. д.
  • Удаление файла и его воссоздание

Проблема с манифестом, вероятно, возникла из-за многократного создания проекта с одинаковым именем. Однако чистая -> сборка проекта помогла мне избавиться от него.

Ага. Версия компиляции Android может быть выше целевой. Версия компиляции Android и целевая версия не обязательно должны совпадать.

Спасибо за ваши ответы.

Я думаю, что проблема с манифестом возникла из-за многократного создания проекта с одним и тем же именем. Однако чистая -> сборка проекта помогла мне избавиться от него.

Ага. Версия компиляции Android может быть выше целевой. Эти двое не обязательно должны быть одинаковыми.

Другие вопросы по теме