web-dev-qa-db-fra.com

Android Studio Library

J'ai importé un module dans mon projet. Lorsque j'ai reconstruit le projet, AS m'a donné une erreur disant Avertissement: Dépendance Lib: non spécifié sur l'application du projet se résout en une archive APK qui n'est pas prise en charge comme dépendance de compilation. J'ai cherché et changé le plugin d'application: 'com.Android.application' à apply plugin: 'com.Android.library' et a également supprimé ApplicationId de defaultConfig. Pourtant, je reçois cette même erreur "Warning:Dependency Lib:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency." Quelqu'un peut-il m'aider?

Voici mon code gradle:

apply plugin: 'com.Android.library'

    Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 12
        targetSdkVersion 23
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.1.0'
    compile 'com.Android.support:design:23.1.0'
    compile project(':DimenLib')
    }
17
David

"Avertissement: Lib dépendance: non spécifié sur l'application du projet se résout en une archive APK qui n'est pas prise en charge en tant que dépendance de compilation."

Cela se produit lorsque vous essayez d'ajouter une dépendance qui est un APK.

En utilisant:

apply plugin: 'com.Android.application'

dit à Gradle de le construire comme une application, générer un APK.

En utilisant:

apply plugin: 'com.Android.library'

il se construira comme une bibliothèque, générant un AAR.

Dans votre cas, il semble que vous changiez le plugin au mauvais endroit.
Il semble que ce soit votre module principal.

apply plugin: 'com.Android.library'

dependencies {
    compile project(':DimenLib')
}

Bouge le apply plugin: 'com.Android.library' dans votre DimenLib.

33
Gabriele Mariotti

Utilisation apply plugin: 'com.Android.application' au lieu de apply plugin: 'com.Android.library'

appliquer le plug-in: 'com.Android.application' applique le Android pour Gradle à cette version. Cela ajoute des tâches de build spécifiques à Android aux tâches de build de niveau supérieur et rend le Android {...} disponible pour spécifier les options de construction spécifiques à Android.

Jetez un oeil ici

http://developer.Android.com/tools/building/plugin-for-gradle.html

3
IntelliJ Amiya

J'ai eu le même problème et c'est ce qui l'a résolu:

  1. importer le projet externe comme expliqué ici: https://www.youtube.com/watch?v=2D9lYuRECoI

  2. Dans mon projet, le fichier build.gradle a ajouté un projet de compilation (': IMPORTED_PROJECT_NAME').

  3. Seulement ensuite changé dans le fichier de grade du projet importé "Appliquer le plugin: com.Android.application" en "Appliquer le plugin: com.Android.library" et supprimé ID d'application.

2
MorZa