【问题标题】:Gradle Error: Android Studio, ActionbarSherlock, and SlidingMenuGradle 错误:Android Studio、ActionbarSherlock 和 SlidingMenu
【发布时间】:2013-07-13 21:53:53
【问题描述】:

我已经为此工作了几天,试图在 Android Studio 中获得正确的库结构。我本来会继续使用 Eclipse,但在性能方面,最近对我来说真的很糟糕。请,任何指导将不胜感激,因为找到的所有解决方案都没有奏效,并且文档让我无处可去。

除了主 TestProject 之外,所有清单都有一个空的应用程序标记。

编辑* 在包含 SlidingMenu 之前,我确实让 ActionBarSherlock 工作没有问题和构建等。

错误

Gradle: Execution failed for task ':libraries:SlidingMenu:processReleaseManifest'.
> Manifest merging failed. See console for more info.

Build.Gradle (SlidingMenu)

apply plugin: 'android-library'

buildscript {
   repositories {
      mavenCentral()
}

  dependencies {
    classpath 'com.android.tools.build:gradle:0.5.+'
  }
}

dependencies {
        compile 'com.android.support:support-v4:13.0.+'
        compile project(':libraries:actionbarsherlock')
    }

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'


sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aild.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
        }
    }
}

Build.Gradle (ActionBarSherlock)

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

Build.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.+'
    compile project(':libraries:actionbarsherlock')
    compile project(':libraries:SlidingMenu')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

settings.gradle(测试项目)

include ':TestProject',':libraries:actionbarsherlock',':libraries:SlidingMenu'

【问题讨论】:

    标签: android actionbarsherlock gradle android-studio slidingmenu


    【解决方案1】:

    对我来说,问题在于滑动菜单库中的“缺少<application/> 标签”。 将空的<application/> 标签添加到清单后,错误消失了。 也许这会对某人有所帮助。

    在此处查看主题:https://groups.google.com/forum/#!topic/adt-dev/PIah7eYXiNs

    【讨论】:

      【解决方案2】:

      不幸的是,发生这种情况的原因有很多。我建议从命令行运行gradle build -info,看看它是否能提供更多信息。

      我遇到的一个常见合并失败是 minSdkVersions 发生冲突。我看到你的测试项目 minSdkVersion 是 7,ActionBarSherlock 和 SlidingMenu manifests 中声明的最低级别是 7 还是更少?

      【讨论】:

      • 好眼光,我刚刚发现有关运行 gradlew projectDebug 的信息。我处理了明显是 minSdkVerion 不匹配的清单问题,现在它找不到 JDK。 :D 问题,问题。
      • 我会照原样将您的解决方案标记为解决方案,现在最好将新问题留给新线程。
      【解决方案3】:

      我已经解决了。我分享我的配置。也许这可以帮助你。

      项目:

      + TestProject
      |-- libraries
         |-- ActionBarSherlock
             |-- actionbarsherlock
             |-- actionbarsherlock-fest
             |-- actionbarsherlock-i18n
             |-- actionbarsherlock-samples
         |-- SlidingMenu
             |-- art
             |-- example
             |-- library
             |-- library-maps-support
      |-- TestProject
      

      setting.gradle

      include ':TestProject', ':libraries:SlidingMenu:library', ':libraries:ActionBarSherlock:actionbarsherlock'
      

      build.gradle(测试项目)

      buildscript {
          repositories {
              mavenCentral()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:0.5.+'
          }
      }
      apply plugin: 'android'
      
      repositories {
          mavenCentral()
      }
      
      dependencies {
          compile project(':libraries:ActionBarSherlock:actionbarsherlock')
          compile project(':libraries:SlidingMenu:library')
      }
      
      android {
          compileSdkVersion 17
          buildToolsVersion "17.0.0"
      
          defaultConfig {
              minSdkVersion 11
              targetSdkVersion 16
          }
      }
      

      build.gradle(actionbarsherlock 库)

      buildscript {
          repositories {
              maven { url 'http://repo1.maven.org/maven2' }
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:0.5.+'
          }
      }
      apply plugin: 'android-library'
      
      dependencies {
          compile 'com.android.support:support-v4:13.0.0'
      }
      
      android {
          compileSdkVersion 17
          buildToolsVersion "17.0.0"
      
          defaultConfig {
              minSdkVersion 11
              targetSdkVersion 16
          }
          sourceSets {
              main {
                  manifest.srcFile 'AndroidManifest.xml'
                  java.srcDirs = ['src']
                  resources.srcDirs = ['src']
                  aidl.srcDirs = ['src']
                  renderscript.srcDirs = ['src']
                  res.srcDirs = ['res']
                  assets.srcDirs = ['assets']
              }
      
              instrumentTest.setRoot('tests')
          }
      }
      

      build.gradle(滑动菜单库)

      buildscript {
          repositories {
              maven { url 'http://repo1.maven.org/maven2' }
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:0.5.+'
          }
      }
      apply plugin: 'android-library'
      
      dependencies {
          compile 'com.android.support:support-v4:13.0.0'
          compile project(':libraries:ActionBarSherlock:actionbarsherlock')
      }
      
      android {
          compileSdkVersion 17
          buildToolsVersion "17.0.0"
      
          defaultConfig {
              minSdkVersion 11
              targetSdkVersion 16
          }
          sourceSets {
              main {
                  manifest.srcFile 'AndroidManifest.xml'
                  java.srcDirs = ['src']
                  resources.srcDirs = ['src']
                  aidl.srcDirs = ['src']
                  renderscript.srcDirs = ['src']
                  res.srcDirs = ['res']
                  assets.srcDirs = ['assets']
              }
      
              instrumentTest.setRoot('tests')
          }
      }
      

      【讨论】:

      • 感谢您的回复,不幸的是,这是一个失败的原因。我必须回到 Eclipse(已经浪费了太多时间)。问题是错误不一致或不可重现。我从头开始重新制作了新项目,重复了我完全相同的步骤,4 次,每次都遇到不同的死胡同。内部出现问题,我无法通过堆栈跟踪、调试或信息查看。
      • @Christian:谢谢你,你救了我的命!您的解决方案非常适合在 AndroidStudio 中使用 gradle 构建 ActionBarSherlock。
      • 为什么必须在 ABS build.gradle 文件中有 sourceSets 块?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2012-12-16
      相关资源
      最近更新 更多