2013-01-25 3 views
1

У меня есть два модуля: модуль моего приложения, который я хочу быть скомпилирован с использованием Android 2.3 платформы, и модуль библиотеки ActionBarSherlock, который должен быть скомпилирован с платформойAndroid 4.0. Когда я установил структуру проекта, что способ и запустить приложение (и ActionBarSherlock устанавливается в зависимости от моего модуля) - IDEA пытается собрать все с 2.3 API, и отображает ошибки, как это:Compile различных андроид модулей с использованием различных андроид API для

android-apt-compiler: action-bar-sherlock\res\values-v14\abs__themes.xml:32: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.Dialog'

Как установить IDEA правильно?

+0

В каждом модуле вы можете установить требуемую версию. Вопрос в том, почему вы хотите скомпилировать ABS каждый раз, когда вы компилируете свой проект. Почему бы не связать Jake git repo или сборку библиотеки локально и добавить ее в проект? –

+0

Потому что использовать ABS в качестве Intellij-модуля - единственный способ включить его в проект. Этот модуль задается как зависимость основного модуля. И он всегда перекомпилирует. – Taras

+0

Проект на базе Android Maven, и вы можете включить его как зависимость –

ответ

4

Вы можете собрать все с 4.0 LIBS, но поддерживает 2.3, используя следующие явные объявления:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

В примере, 17 является текущей последней версией API, но вы можете использовать 15, или все, что вы необходимость.

+0

Но Intellij позволяет использовать классы API из 14-го SDK (например, android.util.LruCache), даже если для параметра minSdkVersion установлено значение 10. Это вводит в заблуждение. – Taras

+0

@Taras, это не связано с этим вопросом. Предоставленный ответ разрешит ваши проблемы с сборкой. Что касается того, что он вводит в заблуждение, я полностью согласен - Eclipse предупреждает вас, когда вы используете API высокого уровня в приложении «Совместимость». Однако, это проблема редактора, с которой вам придется жить, я думаю. – Shade

+0

Кроме того, лучше всего скомпилировать последнюю версию SDK, даже если вы поддерживаете API более низкого уровня из-за исправлений и улучшений самого SDK. – Shade

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