Я пытаюсь реализовать новую библиотеку поддержки ActionBar, которая была выпущена Google пару дней назад. В прошлом я успешно реализовывал ActionBarSherlock без каких-либо проблем, используя тот же метод, который указан на странице настройки библиотеки поддержки Google Developer - используя руководство о том, как включить ресурсы (что аналогично тому, как это делал ActionBarSherlock). У меня есть библиотека, загруженная в мой собственный проект в качестве библиотеки.
Я могу сказать, что библиотека загружается нормально. Когда вместо расширения Activity на моем MainActivity.java я изменил его на расширение ActionBarActivity (согласно инструкциям Google), ошибок не возникло - и он импортируется правильно.
Я даже пытался обойти файл style.xml и добавление @style/Theme.AppCompat.Light
напрямую к AndroidManifest.xml для обоих <application>
и <activity>
с android:theme="@style/ThemeAppCompat.Light"
все попытки , в результате одной и той же ошибки.
Теперь проблема в том, что я не могу заставить его сменить тему, не говоря уже о сборке, не выдавая ошибку. Ниже приведена ошибка, которую я получаю, а затем файл style.xml, который я изменил, чтобы использовать новую тему.
У меня небольшой опыт работы с приложениями для Android, и я использую Eclipse с последней версией библиотек поддержки и SDK, компилирующим с API 18 (Android 4.3).
Ошибка, полученная во время сборки
ошибка: ошибка при получении родительского элемента: не найден ресурс, который соответствует указанному имени '@ style / Theme.AppCompat.Light'. styles.xml / ActBarTest / res / values line 3 Проблема AAPT в Android
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Какие-либо предложения? Это никогда не было проблемой с ActionBarSherlock. Я хочу работать над использованием этой новой библиотеки поддержки. Кажется, что .jar загружается, но не ресурсы.
источник
Ответы:
Вам нужно сделать следующее:
File->Import (android-sdk\extras\android\support\v7)
, Выберите «AppCompat»Project-> properties->Android.
В разделе библиотеки «Добавить» и выберите «AppCompat»Примечание: если вы используете «android: showAsAction» в пункте меню, вам нужно изменить префикс android, как в примере http://developer.android.com/guide/topics/ui/actionbar.html
источник
Если, как и я, вы следуете учебнику по Android по адресу http://developer.android.com/training/basics/actionbar/setting-up.html и продолжаете получать эту ошибку, попробуйте изменить
AppBaseTheme
стиль во всехstyles.xml
файлах. В деталях:В файле
res/values/styles.xml
измените строку:чтобы:
В файле
res/values-v11/styles.xml
измените строку:чтобы:
В файле
res/values-v14/styles.xml
измените строку:чтобы:
Теперь приложение должно работать нормально.
источник
res/values/styles.xml
в новом проекте Android. По крайней мере, не при созданииandroid create project
.Это проблема, которая может возникнуть в Android Studio при изменении модулей структуры проекта. В этом случае вам может понадобиться снова добавить зависимости. В текстовом редакторе отредактируйте файл build.gradle, включив в него необходимые зависимости:
Это должно обновить ваш файл '{your_project_name} .iml' с помощью компонентов lib:
источник
Я поделюсь своим опытом с этой проблемой. Я сходил с ума из-за этого, но я обнаружил, что проблема была в самой ошибке Eclipse, а не в моем коде: в eclipse невозможно ссылаться на проект библиотеки Android в другом проекте Android
Итак, если у вас есть библиотека поддержки Android на вашем диске C: и ваш проект на диске D: на вашем компьютере, Eclipse не будет работать правильно и не будет знать, где находится библиотека поддержки Android (зеленая галочка превращается в красный крестик). ). Чтобы решить эту проблему, вам нужно перенести оба проекта на один и тот же жесткий диск.
источник
В Eclipse я сделал следующее с проектом библиотеки поддержки Android ( APL ) и основным проектом ( MP ):
Гарантировал, что и APL и MP имели то же самое
minSdkVersion
иtargetSdkVersion
.Добавлен APL как зависимость сборки для MP :
Перейдите в «Свойства> Java Build Path» MP , а затем
Выберите вкладку «Проекты» и добавьте APL .
В свойствах MP , под «Android», добавлена ссылка на APL под библиотекой.
1 и 2 получили ссылки на классы Java, работающие нормально ... однако я все еще видел ошибку в
manifest.xml
for MP при попытке ссылки@style/Theme.AppCompat.Light
из APL . Это только ушло, когда я выполнил шаг 3.источник
Немного поздно, но вот как я это делаю в AndroidStudio!
Щелкните правой кнопкой мыши приложение, чтобы перейти к свойствам
Перейдите в Зависимости и нажмите на знак «+» и выберите библиотечную зависимость. Выберите appcompat-v7.
источник
Решение IntelliJ IDEA.
1. Запустите Android SDK Manager и установите последнюю версию SDK и библиотеку поддержки Android . Версия SDK и Android Support Libarary должны быть одинаковыми ! 23 в моем случае. Другие варианты дадут вам ошибки. 2. Измените версию SDK вашего проекта IDEA на последнюю версию, установленную на предыдущем шаге. (ps. вы не можете использовать Maven).
3. Добавьте новый модуль из существующего источника в ваш проект IDEA.
4. Добавьте проект AppCompat. !!! Должно быть под последним SDK тоже! (ps. Скажите «Да» в любом месте в процессе этого шага)
5. Откройте настройки вашего основного модуля Project и добавьте в него следующие 3 зависимости:
5.1. Зависимость модуля. Выберите android-support-v7-appcompat
5.2. 2 шт. Зависимости библиотеки. Добавьте android-sdk \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar и android-support-v4 \ android-support-v7-appcompat.jar
Всего будет:
6. Очень важно !!!
Добавьте тему с префиксом @style (не другой!) .
Решение Android Studio.
1. Запустите Android SDK Manager и установите последнюю версию SDK и библиотеку поддержки Android . Версия SDK и Android Support Libarary должны быть одинаковыми ! 23 в моем случае. Другие варианты дадут вам ошибки.
2. Добавить рядом с build.gradle
PS Если вы новичок в разработке для Android, я настоятельно рекомендую вам перейти на Android Studio & Gradle прямо сейчас - вы получите самый простой способ управления вашим Android-приложением.
источник
Для Android Studio 1.2.2
Удалите «android» из
parent
значения атрибута:источник
вам нужна ссылка $ ANDROID_SDK / extras / android / support / v7 / appcompat
источник
appcompat
на Android Library, ваш основной ресурс проекта может найти тему из appcompatДля IntelliJ IDEA или Android Studio:
Добавьте это в файл сборки app.gradle
Замените
-v:xx.0+
на вашу цель сборки, если у вас есть 19 платформ, то она должна выглядеть так:источник
Следуйте инструкциям @rcdmk. Удалите поддержку Android v4.jar в вашем проекте. Это противоречит новой обновленной версии, найденной в appcompat.
источник
У меня была та же проблема, и я тратил 4-5 часов на решение. Моя проблема решена с помощью;
Надеюсь, вы найдете свое решение.
источник
Моя проблема решается с помощью следующих шагов
добавить следующий файл в каталог libs проекта
<SDK-PATH>\extras\android\support\v13android-support-v13.jar
Перезапустите Eclipse, если требуется. Вот и все. Ваша проблема должна исчезнуть.
источник
работает:
источник
Поскольку диалог импорта в Android Studio 1.0.1 отличается, я не смог заставить работать версию Святослава Лобачса.
Вместо этого я загрузил «Репозиторий поддержки Android» в SDK Manager. Потом добавил
к
build.gradle
. Работал на меня.источник
http://developer.android.com/tools/support-library/setup.html содержит ошибку. В Property-> Java build path -> 'Project' и 'Order and Export' не должно быть никаких jar-файлов. Удаление их и проверка «Частных библиотек Android» и «Зависимостей Android» решили мою проблему.
источник
Я столкнулся с той же проблемой, что и ОП, после того, как щелкнул правой кнопкой мыши мой проект и выбрал « Закрыть несвязанные проекты» .
В моем случае я решил проблему, повторно открыв проект appcompat_v7 и очистив / перестроив оба проекта.
источник
Это случилось со мной, когда Eclipse (Luna) / AndroidSDK (не Android Stduio) использовались с последними инструментами и библиотекой по состоянию на 14 января 2015 года во время проекта наподобие HelloWorld. Когда я установил эти инструменты и сделал HelloWorld первым приложением, я принял все настройки по умолчанию. - Это проблема в моем случае.
Сначала проверьте, установлена ли библиотека «Библиотека поддержки Android». Если нет, установите его. Он не установлен по умолчанию. Вы можете сделать все это в «Android SDK manager», доступном в меню.
(Android SDK Manager -> Дополнительно -> Библиотека поддержки Android)
Благословение, (должник) <> <
источник
Самое быстрое решение:
щелкните правой кнопкой мыши на проекте -> Инструменты Android -> Добавить библиотеку поддержки.
источник
Я сделал действительно глупую ошибку за это. Когда я каждый раз получал одну и ту же ошибку, я не мог понять, в чем дело. затем меня щелкнуло, что, как только я закрыл все проекты в своем рабочем пространстве, это было время, когда начались все проблемы. Так что просто проверьте, не закрыт ли ваш appcompat_v7. Если это так, откройте проект двойным щелчком, а затем очистите и соберите свой проект снова. В моем случае ошибки исчезли. Удачного кодирования!
источник
Я не уверен, была ли доступна библиотека поддержки v13, когда этот вопрос был опубликован, но в случае, если кто-то все еще борется, я видел, что добавление
android-support-v13.jar
исправит все. Вот как я это сделал:<your sdk path>\extras\android\support\v13\android-support-v13.jar
источник
Для Android Studio или IntelliJ все, что вам нужно сделать, это обновить ваши зависимости в gradle.build. Я использовал следующее:
источник
Я не знаю, как многие из вас заметили это. Поддержите библиотеку "appcompat_v7" и ваш проект должен находиться в одном каталоге (я имею в виду каталог рабочего пространства). Не очищайте свой проект до тех пор, пока он не будет очищен от ошибок, иначе вам будет нелегко с R.java
источник
Вам лучше создать новый проект с любым именем, а затем использовать appcompat_v7, чтобы программа создала новый.
В разделе библиотеки
Add
и выберите библиотеку appcompat.источник
в eclipse щелкните правой кнопкой мыши ваш проект-> выберите путь сборки и затем выберите настроить путь сборки. Из окна выберите файл JAR, который вы хотите, и обновите свой проект
источник
Принятое решение раньше работало на меня, но не сейчас. Мне пришлось воссоздать привет-мир того же вида (!) В новом рабочем пространстве, заставить его скомпилировать, а затем скопировать все каталоги, включая
.hg
и.hgignore
.hg diff
шоу:Похоже, Eclipse хочет скомпилировать для API 21 и ничего не делает с API 19. Темно.
источник
Если вы добавили библиотеку appCompat, а также указали правильную ссылку на appCompat из расположения SDK, попробуйте «сделать недействительными кэши / перезапустить» .
Вы можете найти его в меню «Файл» в Android Studio.
источник
В моем случае проблема возникла, так как я хотел использовать SDK, который не включает необходимую библиотеку. Когда я увеличил мин. Уровень SDK проблема исчезла. Разумеется, прямое включение самой библиотеки также должно устранить ошибку.
источник
Забудь все. Просто используйте библиотеку appcompat, загруженную с помощью Android Studio. В нем есть все недостающие определения. Независимо от того, используете ли вы в Eclipse или нет.
источник
У меня была та же проблема, и даже после импорта / добавления jar / библиотеки, как упомянуто в ответах, это не решило бы ошибку. Из-за разочарования я просто создал новое рабочее пространство и создал новый проект Android, который автоматически импортировал appcompat_v7, и при очистке и сборке не было ошибок. Не нужно было импортировать одну банку / библиотеку вручную. К вашему сведению, я использую Eclipse Mars.1 Release (4.5.1) и сталкиваюсь с одной и той же проблемой каждый раз, когда создавал новый проект для Android.
источник