Android Studio、NavDrawer 和支持库问题

Posted

技术标签:

【中文标题】Android Studio、NavDrawer 和支持库问题【英文标题】:Android Studio, NavDrawer and support library issues 【发布时间】:2013-08-01 16:45:51 【问题描述】:

我在使用 gradle 的 android Studio 项目中使用 android 支持库时遇到问题。 如果我将支持库添加为依赖项,我将收到“错误:Gradle:任务':AppName:dexDebug'的执行失败。 我做了一些研究,发现使用支持库和其他使用支持库的依赖项(greendao 1.3.0)存在问题。 我想在我的应用程序中使用 NavDrawer,所以我必须使用这些支持库。 如果我删除支持库,我当然会收到“android.support.v4.widget.DrawerLayout”的膨胀错误。

这里有人有想法吗?

我使用了两种依赖导入 编译文件('libs/android-support-v13.jar') 和 编译'com.android.support:support-v4:13.0.0' 在论坛中找到帖子的原因。但这也行不通。

感谢您的支持。

问候, 海洋

【问题讨论】:

【参考方案1】:

如果您的其他依赖项也依赖于支持库,您需要确保它们没有使用本地依赖项(即嵌入 jar 文件)。您应该始终仅使用

dependencies 
    compile 'com.android.support:support-v4:x.y.z'

而不是本地依赖项。确保你的所有依赖项都相同,Gradle 会自动检测所有内容都依赖于同一个库,并且只将它添加到 dex 中一次。

【讨论】:

谢谢。我已经测试过这种依赖包括,但我不确定我是否在 lib 文件夹中也有本地副本。我稍后会尝试。【参考方案2】:

我试过了,但我也收到了 dex 错误。 附上你可以看到我当前的 gradle 构建文件。

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

apply plugin: 'android'

repositories 
    mavenCentral()


dependencies 
    compile 'com.android.support:support-v4:13.0.0'
    compile 'com.google.android.gms:play-services:3.1.36'
    compile 'de.greenrobot:greendao:1.3.0'


android 
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig 
        minSdkVersion 15
        targetSdkVersion 18
    

    sourceSets 
        main 
            java.srcDirs = ['src/main/java', 'src-gen/main/java']
        
    

src-gen 文件夹用于我的 greendao 生成的类。 如果您需要更多信息,请告诉我。

编辑: 我使用最新的greendao版本解决了它。补充:编译

 de.greenrobot:greendao:1.3.1

而不是编译

 de.greenrobot:greendao:1.3.0

现在可以了。

问候, Marine_of_Hell

【讨论】:

以上是关于Android Studio、NavDrawer 和支持库问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 invalidateOptionsMenu() 打开/关闭 NavDrawer 会导致对 SearchView 和 onQueryTextChange 的 onRestore 调用也被调用

Android支持:设计NavigationView勾选菜单子项

一项活动或两项活动

android studio都有哪些功能

android studio怎么更新

android studio setting 在哪