如何在Android Studio中导入滑动菜单?

22

我正在使用Android Studio,如您所知,在当前的IDE中导入像Eclipse这样的库并不容易。 我试图将slidingmenu库导入我的项目,但是我不知道该如何做得好。 我已经按照此链接中所说的方式尝试了一遍How to import slidingmenu on Intellij Idea? 但我再次失败了。 因此,我希望有人能回答我并向我展示它是如何工作的。

4个回答

33

更好的方法是:使用这个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://dev59.com/kHvaa4cB1Zd3GeqPATfw#21170839


13
我无法相信这个库已经获得了5000多个星星评价,但在Maven中仍然没有官方的可用版本。 - theblang
2
我遇到错误:(40,13)无法解析:com.jeremyfeinstein.slidingmenu:library:1.3 - htafoya

30

为了让大家知道我所指的文件结构(它确实有效):

我将要引用的文件结构

在你的APPbuild.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'
        }
    }
}

您的项目settings.gradle文件应该像这样:

include ":libraries:SlidingMenu", ':App'
在Android Studio中,点击 Tools -> Android -> Sync Project with Gradle Files 按钮,然后重新构建项目。如果一切顺利,你应该能够将 com.jeremyfeinstein.slidingmenu.lib.SlidingMenu 库导入到你的应用程序源文件中。

你的指导非常好,但由于SlidingMenu模块在AndroidStudio中没有显示出来,我还是花了几个小时。唯一有用的方法是创建一个新的虚拟模块,然后再将其删除。 - stoefln

5
我假设您已经在Android上有一个可运行的项目,并且想要添加SlidingMenu库。 首先,您应该按照android developer site中所述,在Eclipse中导出库。 然后在AS中:
- 在根项目文件夹中创建一个名为“lib”的文件夹 - 将导出的项目库复制到此文件夹中
现在您必须编辑gradle文件:
- 首先编辑根项目的settings.gradle文件:在此处添加所有模块( ->您的MainProject和所有其他依赖项,如库),例如: ``` include ':app', ':lib:sliding-menu-lib' ``` - 接下来,您必须编辑"MyApp"的build.gradle文件并将依赖项添加到其中
最后,您必须告诉IDE您使用的projectLib:
- 右键单击主模块“MyApp” ->打开“Module Settings” - 单击加号并选择“导入模块” - 选择您的slidingMenuLib的“build.file”
在此帖子中,您可以了解如何将ABS添加到项目更新于2013年10月1日 使用Eclipse生成build.gradle文件: 1.在eclipse中导入SlidingMenu项目(假设您已知道如何执行此操作)。 2.在Eclipse中:右键单击项目库 ->导出 3.选择:Android ->生成Gradle构建文件
完成这些步骤后,您应该在项目库中看到一个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")。请查看下面的帖子了解如何操作。
此帖子中,我尝试将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']
        }
    }
}

我不理解你的第一步。很抱歉,我是个初学者,你能逐步展示一下你的操作吗?这对我和其他人都会有所帮助。 - bengous
这里有点难以给你一个“逐步”指导,因为我真的不知道你能做什么和不能做什么(我的上面的回答已经是一份指导,但不是详细的 :))。我更新了我的答案,并附上了一个链接,其中我遇到了同样的问题,需要导入/包含项目库。你不需要从eclipse中导出项目库,你可以自己创建build.gradle文件...但使用eclipse会更简单(在我的上面的答案中,我试图解释导出)...尝试解释一下你的问题,你做了什么,哪里出错或失败了。 - owe
非常感谢您的时间和解释。我今晚回家后会尝试这个(我现在在法国,所以现在只是9点)。 - bengous
我认为在浪费时间配置Eclipse之前,最好自己创建一个build.gradle文件来构建SlidingMenu。尝试在Android Studio中构建它。我在我的答案中添加了你需要使用的库的build.gradle文件。周末时,我可以查看你的文件或者生成一个带有SlidingMenu的“HelloWorld”项目并上传到git。但是首先请自己尝试一下 :) - owe
好的,我会尝试使用你的build.gradle文件。感谢你的帮助和时间 :) - bengous
显示剩余7条评论

0

这个库已经过时了,请使用下面的库。

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

注意:不要忘记在repositories块中使用以下代码:

maven { url "https://jitpack.io" }


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接