Почему Android Studio не распознает импорт библиотеки .jar?

Я пытаюсь использовать некоторые .jar файлы в качестве библиотек в моем проекте Android Studio.

Я смотрел, как это сделать, и обычный способ - скопировать файл .jar в папку libs, а затем добавить его в качестве библиотеки. Я знаю, что папка libs должна находиться внутри модуля "app" в представлении "project". Но эта опция для добавления в качестве библиотеки не появляется. Поэтому мой подход заключается в том, чтобы добавить его вручную, щелкнув правой кнопкой мыши на "приложении" и:

Откройте настройки модуля/приложение/зависимости/и добавьте файлы .jar в качестве зависимостей файлов.

Затем я перехожу к моему .class, но предложения по импорту не позволяют мне выбирать эти библиотеки в качестве импорта.

Я попробовал другой подход из представления "android". Выбрав "приложение" и выбрав "новый модуль", я выбираю Импорт .JAR или .AAR Package, а затем я делаю то же самое, что и раньше, с помощью Open Module Setings, но на этот раз я добавляю его как Зависимость модуля.

В режиме ожидания файл gradle.build обновляется, добавляя эти зависимости, но при переходе к активности для выбора импорта он не дает мне возможности выбрать импорт из этих.

Я потратил целый день на то, чтобы решить эту проблему, но я не понимаю, как я узнаю импорт из этих файлов, поэтому я был бы признателен, если бы кто-нибудь мог сказать мне, что я делаю неправильно или что я не хватает.

Файл build.gradle верхнего уровня:

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

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

файл build.gradle на уровне приложения:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/values-v14'] } }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile project(':activation')
    compile project(':mail')
}

Ответы

Ответ 1

После чата с M D мы пришли к выводу, что моя AS не распознает файлы .jar, поэтому мне пришлось перенести проект обратно в eclipse, и он отлично работает там.

Ответ 2

Мой текущий проект с использованием gson-2-2.4.jar и YouTubeAndroidPlayerApi.jar и некоторых других. Чтобы импортировать эту банку, я помещаю ее в папку с папками. После этого перейдите к build.gradle и удалите в нем некоторые символы и перепишите (1). Наконец, нажмите "Синхронизировать сейчас" (2). Я не знаю, почему моя кнопка синхронизации enter image description here не работает, когда я добавляю jar в libs, поэтому я делаю это, и он работает так хорошо.

enter image description here

UPDATE

В Android 3.x.y мы можем использовать Sync Project with Gradle Files или Refresh all Gradle projects

введите описание изображения здесь

Ответ 3

введите описание изображения здесь Во-первых, я импортирую этот JAR, AS не может распознать этот JAR, и я не могу импортировать его. И чем я нажимаю правой кнопкой мыши в этом JAR и выбираю "Добавить как библиотеку". AS может распознать этот JAR и решить проблему!

Ответ 4

С уважением к Android Studio 1.5.1:

Вам нужно скопировать и вставить файл JAR в:

APP_NAME/приложение/LIBS

Обратите внимание, что папка libs уже существует. После копирования измените представление проекта с Android на файлы проекта.

Откройте папку app/libs и щелкните правой кнопкой мыши файл JAR, затем нажмите "Добавить как библиотеку".

Это должно сделать это. Я не смог успешно использовать модуль добавления для импорта файла JAR.