Android Studio не содержит внешних зависимостей

У меня есть проект библиотеки. Я хочу использовать новую систему сборки Android. В настоящее время я сталкиваюсь с довольно раздражающим сценарием.

У меня есть зависимости, определенные в gradle.build, но они никогда не отображаются в разделе "Внешние библиотеки в Android Studio". Следовательно, все ссылки на эти библиотеки отмечены как ошибки.

Когда я запускаю gradle dependencies в командной строке, он показывает полное дерево зависимостей и успешно компилируется. Проблема явно связана с Android Studio.

Я попытался перезапустить IDE/ОС, но ничего.

Это мой gradle.build

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.1'
    }
}

apply plugin: 'android-library'

apply plugin: 'idea'

repositories {
    mavenCentral()
}

dependencies {
    compile 'junit:junit:4.11'
    compile 'org.robolectric:robolectric:2.1:jar-with-dependencies'

    compile 'com.google.android:android:4.1.1.4'
    compile 'com.google.android:support-v4:r7'

    compile 'info.cukes:cucumber-java:1.1.3'
    compile 'info.cukes:cucumber-junit:1.1.3'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        versionCode 1
        versionName "0.3-SNAPSHOT"
        minSdkVersion 15
        targetSdkVersion 17
    }
}

UPDATE

Эта проблема, похоже, исправлена ​​на последней версии Android Studio (0.2.5)

Ответ 1

К сожалению, в текущей версии Android Studio среда IDE не полностью интегрирована с системой сборки (gradle). Вы должны добавить библиотеку один раз в gradle.build для компиляции и один раз через GUI для завершения кода.

Щелкните правой кнопкой мыши на своем проекте, выберите "Открыть настройки модуля". Подтвердите предупреждение. Выберите "Библиотеки", "+" и добавьте библиотеку, которую вы используете. Вы можете искать библиотеки на Maven в появившемся диалоговом окне. Вы должны выбрать свой libs dir для банки. Наконец, добавьте библиотеку в свой модуль кода. Если ваше приложение - MyApp, у вас, вероятно, есть MyApp и MyAppProject. Вам нужно добавить его в MyApp. (Возможно, вы также можете напрямую добавить его со страницы "Модули".)

Чтобы дополнительно добавить gradle, чтобы добавить банку в apk, внесите следующие изменения в файл оценки. Заменить:

compile 'org.jsoup:jsoup:1.6.1'

и аналогичный с

compile files('libs/jsoup-1.6.1.jar')

Теперь все должно работать.

Ответ 2

Вы можете использовать проект "Инструменты- > Android- > Синхронизация с Gradle файлами". Он будет разрешать зависимости, загружать и добавлять их во внешние библиотеки.

Ответ 3

Я прокомментировал следующую строку из файла build.gradle и начал работать.

//compile files('libs/android-support-v4.jar')

enter image description here

Ранее операция сухого построения была успешной, но когда я попытаюсь запустить на устройстве, будет ошибка

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define  Landroid/support/annotation/AnimRes;