2014-11-20 4 views
0

Все, мне сложно выполнить простую задачу: возьмите мой существующий проект, который я сделал несколько месяцев назад, и перекомпилируйте его и запустите на моем телефоне Android-v19.appcompat_v7 без поддержки v21

Независимо от того, что я делаю, и я сделал много (до расстройства), appcompat просто не будет принят.

Я пробовал:

  • ПЕРВЫЙ ШАГ: установить targetSdkVersion/maxSdkVersion до 19 в AndroidManifest.xml
  • добавив appcompat_v7 затмение, то связывая проект
  • копируя appcompat_v7 библиотеки непосредственно в моем проекте и переместили их в справочные библиотеки

Добавление AppCompat в Eclipse

Мой первый подход заключался в добавлении apppypppppppp к моей рабочей области (это ТРЕБОВАНИЕ СТУПИДА).

  • Импорт appcompat_v7
  • Щелкните правой кнопкой мыши мой проект
  • Добавить необходимый андроида библиотеку из рабочего пространства, appcompat_v7

Добавление AppCompat Баночки к моему проекту

имеет трудности в поиске значения для значений стилей, особенно для тем AppCompat.

  • Добавлен в v4 и v7 банку в ЛИЭСЕ папке,
  • Добавлен LIBS Построить Path
  • Проверены их в заказе/Экспорт

Я понимаю, я должен двигаться вверх до v21. НО Я НЕ ХОЧУ ПОЛУЧИТЬ. Это мое право, это мое убеждение, это моя цель. Как можно запустить старый проект так сложно?

+0

Строительный сбор t (Project> Properties> Android) для проекта 'appcompat-v7', и ваше приложение, которое зависит от него, должно быть установлено равным 21. Вы можете хранить ваши' minSdkVersion' и 'targetSdkVersion' там, где они есть, предположительно. – CommonsWare

+0

Нет. Это не так, его нужно установить в 19, потому что я не хочу компилировать для 21. Разве это невозможно? – Constantin

+0

«Добавлены библиотеки для создания пути» - отмените это. Никогда не делайте этого в разработке Android. Просто поместите JAR в 'libs /', и они будут автоматически подобраны. – CommonsWare

ответ

1

он должен быть установлен на 19, потому что я не хочу, чтобы скомпилировать для 21

Я понятия не имею, почему. compileSdkVersion (что в Eclipse - это цель сборки, установленная в Project> Properties> Android) не влияет на то, на каких устройствах вы можете работать.

Это невозможно?

Вы не можете использовать код, который условно использует уровень API 21 конструктов (классы, стили/темы, и т.д.) без вашей целевой compileSdkVersion/сборки установлен на 21 или выше.

Ваш выбор:

  • Установите цель compileSdkVersion/сборки до 21, или

  • Смотрите, если вы можете найти старую копию appcompat_v7 или

  • Прекратите использование appcompat_v7

+0

Это имеет смысл, это тоже ужасный дизайн. Поэтому мне нужно загрузить новейший API. Даже если я его не использую? – Constantin

+0

@ Константин: «Это тоже страшный дизайн», - пожалуйста, по вашему мнению. «Даже если я его не использую?» - вы используете его, используя стороннюю библиотеку. В частности, вы используете проект библиотеки, который зависит от ресурсов API уровня 21. Это не уникально для 'appcompat-v7' - там будут библиотеки в Android Arsenal от независимых разработчиков с тем же критерием. Вам не нужно использовать 'appcompat-v7', и вам не нужно использовать последнюю версию' appcompat-v7', которая предлагает Android 5.0-специфический пошив. – CommonsWare

+0

Хорошо, я на борту. Спасибо за ваше терпение, я был очень расстроен. – Constantin

Смежные вопросы