我正在尝试将ActionBarSherlock添加到我现有的应用程序中.这并不像我想象的那么容易.我已经这样做了两天了.我已经尝试了2页Google结果的每个教程.以下是我跟随
this tutorial之后的情况.
我的项目结构
ActionBarSherlock / actionbarsherlock / build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:13.0.+' compile files('libs/Parse-1.3.1.jar') } android { sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' } } } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } }
ClashMMAProject / ClashMMA / build.gradle
buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:13.0.+' compile files('libs/Parse-1.3.1.jar') compile project(':libraries:ActionBarSherlock:actionbarsherlock') } android { sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' } } } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } }
setting.gradle
include ':ClashMMA',':libraries:ActionBarSherlock:actionbarsherlock'
依赖关系
我的错误
我做了很多研究,但我无法做任何事情.我每次都会收到一个错误,所以有些东西我无法正确理解.请帮忙.谢谢你的时间.
更新
好的建议之后,这就是我在ClashMMAProject / ClashMMA / build.gradle中所拥有的
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' compile 'com.android.support:support-v4:18.0.+' compile files('libs/Parse-1.3.1.jar') } android { sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' } } } android { compileSdkVersion 17 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } }
这产生了一个错误:
Gradle: Execution Failed for task ':ClashMMA:processDebugManifest'. > Manifest merging Failed. See console for more info.
解决方法
我也很努力,因为我看到的每个教程或答案都留下了一些小细节,一个初学者不知道自动做什么.以下是我最终将ABS添加到我的项目中的方法:
1.根本不要下载ABS.您可以通过修改现有的build.gradle文件来完全添加它.不是你的项目的build.gradle,而是你的内部文件夹,它是你的src目录的父文件夹.
2.打开SDK Manager并确保您拥有Android SDK Build-tools 18.0.1(更高版本也可以使用).
3.在我之后模拟你的build.gradle文件.这是我正在使用的确切build.gradle文件.确保你的minSdk和targetSdk匹配你的清单中的内容:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 18 } }
4.确保您在gradle-wrapper.properties中使用gradle 1.8:
distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-bin.zip
5.按下按钮,使用gradle文件同步项目: