如何在Android Studio上导入slidemenu?

ben*_*ous 22 android actionbarsherlock slidingmenu android-studio

我使用过Android Studio,如你所知,在导入当前使用的库IDE一样Eclipse不容易与Android工作室.我正在尝试将slidingmenulib导入我的项目,但我不知道如何做得好.我试过他们在这个链接中说如何在Intellij Idea上导入滑动菜单? 但我又失败了.所以我希望有人能回答我,告诉我它是如何运作的.

Tsp*_*oon 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'
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

  • 我不敢相信这个图书馆有超过5k星,但仍然没有在Maven正式提供. (13认同)
  • 我得到错误:(40,13)无法解决:com.jeremyfeinstein.slidingmenu:library:1.3 (2认同)

Pet*_*ete 30

只是这样每个人都知道我所指的文件结构(它确实有效):

文件结构我将引用

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

dependencies {
    // Your other dependencies go here
    compile project(':libraries:SlidingMenu')
}
Run Code Online (Sandbox Code Playgroud)

滑动菜单的 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'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

include ":libraries:SlidingMenu", ':App'
Run Code Online (Sandbox Code Playgroud)

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


owe*_*owe 5

我假设您已经在android中有一个可运行的项目,并且您想要将SlidingMenulib 添加到它.

首先,你应该像在android开发者网站上描述的那样在Eclipse中导出lib .

比AS:

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

现在您必须编辑gradle文件:

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

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

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

在这篇文章中,您可以看到如何将ABS添加到您的项目中.

更新2013-10-01

使用eclipse生成build.gradle文件:

  1. 在eclipse中导入SlidingMenu项目(我假设你知道怎么做)
  2. 在Eclipse中:右键单击项目lib - > Export
  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
Run Code Online (Sandbox Code Playgroud)

在此之后,您必须build.gradle在"MyApp"( - >添加依赖项)和settings.gradle"MyAppProject"( - >包括模块:"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']
        }
    }
}
Run Code Online (Sandbox Code Playgroud)