Question

Je crée un projet sur IntelliJ IDEA à l'aide de Gradle et j'essaie d'y ajouter AndroidSlidingUpPanel (https://github.com/umano/AndroidSlidingUpPanel).

Que dois-je faire exactement pour le configurer ?

J'ai la structure de dossiers suivante :

RootFolder
|_libraries
    |_ AndroidSlidingUpPanel
         |_ library
               |_ build.gradle
         |_ settings.gradle
         |_ build.gradle
|_app
    |_ build.gradle
|_ settings.gradle
|_ build.gradle

Les fichiers sont comme ceci :

Dossier racine/settings.gradle

include ':app'
include ':libraries:AndroidSlidingUpPanel:library'

Dossier racine/build.gradle

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

allprojects {
    repositories {
        mavenCentral()
    }
}

RootFolder/libraries/AndroidSlidingUpPanel/settings.gradle

include ':library'
include ':demo'

RootFolder/libraries/AndroidSlidingUpPanel/build.gradle

allprojects {

  group 'com.sothree.slidinguppanel'
  version '1.0.0-SNAPSHOT'

  buildscript {
    repositories {
      mavenCentral()
    }
  }

  dependencies {
    repositories {
      mavenCentral()
    }
  }
}

RootFolder/libraries/AndroidSlidingUpPanel/library/build.gradle

apply plugin: 'android-library'

buildscript {
  dependencies {
    classpath 'com.android.tools.build:gradle:0.7.+'
  }
}

dependencies {
  compile 'com.android.support:support-v4:13.0.0'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

RootFolder/app/build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.2"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:gridlayout-v7:19.0.1'
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
Était-ce utile?

La solution

Vous ne savez pas exactement quelles erreurs de construction vous pourriez rencontrer ni quelle est votre question exacte, mais comme vous n'avez pas de dépendance à SlidingUpPanel dans votre app/build.gradle, la question est de savoir comment l'inclure ?

Si tel est le cas, la première chose à garder à l'esprit est qu'un projet ne peut pas avoir plus d'un paramètres.gradle.Pour être plus précis, il le recherche uniquement dans le dossier racine et l'utilise s'il s'y trouve.Alors le paramètres.gradle dans RootFolder/bibliothèques/AndroidSlidingUpPanel/ sera ignoré.Il semble que vous ayez correctement configuré un include à la bibliothèque SlidingUpPanel dans Dossier racine/settings.gradle, donc c'est bien :

include ':libraries:AndroidSlidingUpPanel:library'

pour inclure une dépendance dans votre application, vous utilisez un compile project déclaration et donnez-lui le même chemin :

dependencies {
    compile 'com.android.support:gridlayout-v7:19.0.1'
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile project(':libraries:AndroidSlidingUpPanel:library')
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Si vous utilisez Android Studio (cela devrait également fonctionner avec les projets basés sur Gradle dans IntelliJ Community Edition), vous pouvez configurer des dépendances sur les modules à partir de la boîte de dialogue Structure du projet via Modules > Votre module > Dépendances > + > Dépendance des modules:

Project Structure dialog showing how to add a module dependency

Si vous avez ajouté le module à votre paramètres.gradle fichier comme vous l'avez déjà et avez synchronisé votre projet avec les fichiers Gradle, le module SlidingUpPanel devrait apparaître dans la vue Projet de l'EDI et devrait apparaître comme un choix de module dans cette liste de dépendances.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top