web-dev-qa-db-fra.com

Comment importer un menu coulissant sur Android Studio?

J'utilise Android Studio et, comme vous le savez, l'importation de bibliothèques utilisées dans la version IDE actuelle, telle que Eclipse, n'est pas facile avec Android Studio. J'essaie d'importer la slidingmenu lib dans mon projet mais je ne sais pas comment le faire correctement. J'ai essayé comme ils l'ont dit dans ce lien Comment importer un menu coulissant sur Intellij Idea? Mais j'ai encore échoué. J'espère donc que quelqu'un pourra me répondre et me montrer comment cela fonctionne.

22
bengous

Pour que tout le monde connaisse la structure de fichier à laquelle je fais référence (qui fonctionne):

File structure I will be referencing

Dans votre fichier APP - build.gradle, assurez-vous d'avoir:

dependencies {
    // Your other dependencies go here
    compile project(':libraries:SlidingMenu')
}

Dans votre fichier SLIDING MENU build.gradle, assurez-vous qu'il présente les éléments suivants:

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

apply plugin: 'Android-library'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.Android.support:support-v4:19.0.0'
}

Android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

    sourceSets {
        main {
            Java.srcDirs = ['src/main/Java']
            res.srcDirs = ['src/main/res']

            manifest.srcFile 'src/main/AndroidManifest.xml'
        }
    }
}

Votre fichier PROJECT'S settings.gradle devrait ressembler à ceci:

include ":libraries:SlidingMenu", ':App'

Dans Android studio, appuyez sur le bouton Tools -> Android -> Sync Project with Gradle Files, puis reconstruisez votre projet. Si tout va bien, vous devriez pouvoir importer la bibliothèque com.jeremyfeinstein.slidingmenu.lib.SlidingMenu dans les fichiers source de votre application.

30
Pete

Mieux encore: utilisez cette https://github.com/jzaccone/SlidingMenu-aar

Ajoutez simplement ce qui suit à votre build.gradle

repositories {
    maven { url "http://jzaccone.github.io/SlidingMenu-aar" }
    ...
}

dependencies {
    compile 'com.jeremyfeinstein.slidingmenu:library:1.3@aar'
    ...
}

Il est légèrement obsolète - mais c'est mieux qu'AndroidStudio ne reconnaisse pas les fichiers de classe (ce qui m'est arrivé), et le correctif décrit ici ne fonctionnait pas non plus: https://stackoverflow.com/a/21170839/1639040

32
Tspoon

Je suppose que vous avez déjà un projet exécutable dans Android et que vous souhaitez y ajouter la SlidingMenu lib. 

D'abord, vous devez exporter la bibliothèque dans Eclipse comme décrit sur le site de développement Android .

Que dans AS: 

  • créer dans le dossier racine du projet un dossier nommé "lib"
  • copier la bibliothèque du projet exporté dans ce dossier

Maintenant, vous devez éditer les fichiers de gradle:

  • commencez par éditer le fichier settings.gradle de votre projet racine: vous devez y ajouter tous vos modules (-> votre MainProject et toutes les autres dépendances comme votre lib) comme ceci:
  • Ensuite, vous devez éditer le fichier build.gradle de "MyApp" et y ajouter les dépendances.

Vous devez au moins informer votre IDE de la bibliothèque de projet que vous utilisez:

  • clic droit sur votre module principal "MyApp" -> Ouvrir les paramètres du modeule 
  • cliquez sur le plus et "module d'importation"
  • choisissez le "build.file" de vous slideMenuLib

Dans cet article, vous pouvez voir comment ajouter de l'ABS à votre projet }.

Mise à jour 2013-10-01

Générer des fichiers build.gradle avec Eclipse:

  1. Importez le projet SlidingMenu dans Eclipse (je suppose que vous savez comment faire cela)
  2. Dans Eclipse: Faites un clic droit sur la bibliothèque du projet -> Exporter
  3. Choisissez: Android -> Générer des fichiers de construction Gradle

Après ces étapes, vous devriez voir un fichier build.gradle dans votre bibliothèque de projet.

Dans Android Studio:

Créez un dossier nommé "lib" dans votre projet et copiez la totalité du projet lib (avec le fichier build.gradle) dans ce dossier.

Après ces étapes, la structure de votre dossier devrait ressembler à ceci:

MyAppProject
- lib
  -- SlidingMenu
     --- build.gradle 
- MyApp
  -- src
  -- build.gradle
  -- MyApp.iml
- build.gradle
- settings.gradle

Après cela, vous devez éditer build.gradle dans "MyApp" (-> ajouter les dépendances) et settings.gradle dans "MyAppProject" (-> en incluant les modules: "MyApp" et "SlidingMenu"). S'il vous plaît regardez le post ci-dessous comment faire cela.

Dans this post J'ai essayé d'importer l'ABS dans mon projet ..__ Je pense que cela est utile, car plusieurs choses importantes ont été déclarées:

  • structure de projet
  • code pour build.gradle 
  • code pour settings.gradle

Mise à jour 2013-10-02

buildscript {
    // define the repo which is to use
    repositories {
        mavenCentral()
    }
    // define the classpath for Gradle Android Plugin
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.+'
    }
}

// declaring that the project is a library
apply plugin: 'Android-library'

// declaring all dependencies the project needs 
dependencies {
    // SlidingMenu is using the support lib v4 
    // -> this jar file is included in the folder "libs" 
    compile fileTree(dir: 'libs', include: '*.jar')
}

Android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        // this values you can read out from the Manifest (but I add the right values for you)
        minSdkVersion 5
        targetSdkVersion 17
    }

    // because Android Studio has a different file structure than Eclipse
    // you have to say Android Studio where the files are located
    sourceSets{
        main{
            manifest.srcFile 'AndroidManifest.xml'
            Java.srcDirs = ['src']
            res.srcDirs = ['res']
            // resources.srcDirs = ['src']
            // aidl.srcDirs = ['res']
            // assets.srcDirs = ['assets']
            // renderscript.srcDirs = ['src']
        }
    }
}
5
owe

http://www.devexchanges.info/2015/05/import-Eclipse-library-non-gradle.html

Cet article a la meilleure réponse. Toutefois, assurez-vous que minsdkVersion et targerSdkversion buildTollsVersion build.gradle compileSdkVersion pour l'application et la bibliothèque sont identiques.

0

cette bibliothèque est obsolète. en utilisant juste de dessous la bibliothèque

implementation 'com.github.androidlibraries:slidingmenu:1.0.0'

note: n'oubliez pas d'utiliser ceci

maven { url "https://jitpack.io" } dans le bloc référentiels