如何在Android Studio上导入slidemenu?

时间:2013-09-29 14:16:47

标签: android actionbarsherlock android-studio slidingmenu

我正在使用Android Studio,如您所知,使用Android Studio导入当前IDE中使用的库Eclipse并不容易。我正在尝试将slidingmenu lib导入到我的项目中,但我不知道如何做得好。我已按照他们在此链接 How to import slidingmenu on Intellij Idea? 中所说的尝试了 但我又失败了。所以我希望有人能回答我并告诉我它是如何运作的。

5 个答案:

答案 0 :(得分:32)

更好的是:使用此https://github.com/jzaccone/SlidingMenu-aar

只需将以下内容添加到build.gradle

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

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

它稍微过时 - 但它比AndroidStudio更好地不识别类文件(发生在我身上),并且此处描述的修复也不起作用:https://stackoverflow.com/a/21170839/1639040

答案 1 :(得分:30)

大家都知道我所指的文件结构(确实有效):

File structure I will be referencing

APP的 build.gradle文件中,请确保您拥有:

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

滑动菜单 build.gradle文件中,确保其中包含以下内容:

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'
        }
    }
}

您的 PROJECT'S settings.gradle文件应如下所示:

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

在android studio中按下Tools -> Android -> Sync Project with Gradle Files按钮,然后重建您的项目。如果一切顺利,您应该能够将com.jeremyfeinstein.slidingmenu.lib.SlidingMenu库导入到您应用的源文件中。

答案 2 :(得分:5)

我假设您已经在android中有一个可运行的项目,并且您想要向其添加SlidingMenu lib。

首先,您应该像在android developer site上描述的那样在Eclipse中导出lib。

比AS:

  • 在根项目文件夹中创建名为“lib”的文件夹
  • 将导出的项目库复制到此文件夹

现在你必须编辑gradle文件:

  • 首先编辑你的根项目的settings.gradle文件:你需要添加所有模块( - >你的MainProject和所有其他依赖项,比如你的lib):
  • 您必须编辑“MyApp”的build.gradle文件并添加依赖项

至少你必须告诉你的IDE你使用的projectLib:

  • 右键单击主模块“MyApp” - >打开模式设置
  • 点击加号和“导入模块”
  • 选择slidingMenuLib的“build.file”

在这篇文章中,您可以看到如何add ABS to your project

更新2013-10-01

使用eclipse生成build.gradle文件:

  1. 在eclipse中导入SlidingMenu项目(我假设您知道该怎么做)
  2. 在Eclipse中:右键单击项目库 - >导出
  3. 选择:Android - >生成Gradle构建文件
  4. 完成这些步骤后,您应该在项目库中看到build.gradle文件。

    在Android Studio中:

    在项目中创建一个名为“lib”的文件夹,并将整个项目库(使用build.gradle文件)复制到此文件夹中。

    完成这些步骤后,您的文件夹结构应如下所示:

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

    在此之后,您必须在“MyApp”中修改build.gradle( - >添加依赖关系)和“MyAppProject”中的settings.gradle( - >包括模块:“MyApp”和“ SlidingMenu“)。请看下面的帖子如何做到这一点。

    this post我尝试将ABS导入我的项目。 我认为这很有用,因为声明了几个重要的事情:

    • 项目结构
    • build.gradle的代码
    • settings.gradle的代码

    更新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']
            }
        }
    }
    

答案 3 :(得分:0)

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

这篇文章有最好的答案。但请确保您的build.gradle compileSdkVersion buildTollsVersion minsdkVersion和targerSdkversion对于app和库都是相同/匹配。

答案 4 :(得分:0)

此库已弃用。只是从下面的库中使用

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

注意:不要忘记使用此

maven { url "https://jitpack.io" }在存储库块中