我已经看到所有指向各种指南的帖子,声称让 ABS 与 IntelliJ (Android Studio) 一起工作,包括这里和这里。
对于最新版本的 ABS 和 AS,它们不起作用。
通常,教程与 IDE 不匹配。超越这一点,并假设允许使用 gradle 而不是 maven 执行“导入模块”,我最终得到:
Plugin with id 'android-library' not found
有没有人有让最新版本的 ABS 与最新版本的 AS 一起使用的教程?
Fwiw,我尝试使用 Eclipse 路线进行导出,然后尝试将其引入 AS(这绝对不是我的首选路径),但我最终得到一堆“无法执行 dex:多个 dex 文件定义...”围绕杰克逊的错误。
如果它有用,这里是我的 build.gradle,但我首选的解决方案将使用更多的“标准”机制,而不是使用它,并且更可能对其他人有用。这是文件:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}
android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    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')
    }
}
而且,我的项目目录结构:
D:.
└───T-n-T
    ├───.gradle
    │   └───1.6
    │       └───taskArtifacts
    ├───.idea
    │   ├───copyright
    │   ├───libraries
    │   └───scopes
    ├───assets
    ├───bin
    │   ├───classes
    │   │   └───com
    │   │       └───pha
    │   │           └───t-n-t
    │   │               ├───models
    │   │               └───services
    │   └───res
    ├───build
    │   ├───apk
    │   ├───assets
    │   │   └───debug
    │   ├───classes
    │   │   └───debug
    │   │       └───com
    │   │           └───pha
    │   │               └───t-n-t
    │   │                   ├───models
    │   │                   └───services
    │   ├───dependency-cache
    │   │   └───debug
    │   ├───incremental
    │   │   ├───aidl
    │   │   │   └───debug
    │   │   ├───dex
    │   │   │   └───debug
    │   │   ├───mergeAssets
    │   │   │   └───debug
    │   │   └───mergeResources
    │   │       └───debug
    │   ├───libs
    │   ├───manifests
    │   │   └───debug
    │   ├───res
    │   │   ├───all
    │   │   │   └───debug
    │   │   │       ├───drawable-hdpi
    │   │   │       ├───drawable-mdpi
    │   │   │       ├───drawable-xhdpi
    │   │   │       ├───drawable-xxhdpi
    │   │   │       ├───layout
    │   │   │       ├───menu
    │   │   │       ├───values
    │   │   │       ├───values-sw720dp-land
    │   │   │       ├───values-v11
    │   │   │       ├───values-v14
    │   │   │       └───xml
    │   │   └───rs
    │   │       └───debug
    │   ├───source
    │   │   ├───aidl
    │   │   │   └───debug
    │   │   ├───buildConfig
    │   │   │   └───debug
    │   │   │       └───com
    │   │   │           └───pha
    │   │   │               └───t-n-t
    │   │   ├───r
    │   │   │   └───debug
    │   │   │       └───com
    │   │   │           └───pha
    │   │   │               └───t-n-t
    │   │   └───rs
    │   │       └───debug
    │   └───symbols
    │       └───debug
    ├───gen
    │   └───com
    │       └───pha
    │           └───t-n-t
    ├───gradle
    │   └───wrapper
    ├───libs
    ├───res
    │   ├───drawable-hdpi
    │   ├───drawable-ldpi
    │   ├───drawable-mdpi
    │   ├───drawable-xhdpi
    │   ├───drawable-xxhdpi
    │   ├───layout
    │   ├───menu
    │   ├───values
    │   ├───values-sw600dp
    │   ├───values-sw720dp-land
    │   ├───values-v11
    │   ├───values-v14
    │   └───xml
    └───src
        └───com
            └───pha
                └───t-n-t
                    ├───models
                    └───services
应该注意的是,这表示在尝试使其工作失败后回滚后的项目。
更新
我不知道这是否是进步,但它是不同的。我有我认为来自 ABS 的库项目与我的主项目坐在一起,并作为一个模块添加。我认为是这样,因为在 IDE 中,在主项目中,SherlockActivity似乎可用。我可以扩展它(某种程度上)并可以导入它的命名空间(com.actionbarsherlock.app)。我之所以这么说是因为在我尝试构建之前一切都很好,此时我得到:
Gradle: package com.actionbarsherlock.app does not exist
Gradle: cannot find symbol class SherlockActivity
并且构建失败。所以有些事情显然不太对劲。
有什么建议么?
解决了
哇。多么痛苦。我最终最终做了什么:
正如其他人所描述的那样
1)下载并提取 ABS 
2)将其保存在主项目下的自己的文件夹中(比如 ActionBarSherlock)
3)将其作为模块导入(新:使用 Maven / pom.xml - 确保选中导出)
从其他来源提取
4)排除 ActionBarSherlock/target 目录(打开模块设置)
5)如果您的主项目使用支持库,则将该依赖项更改为已提供(打开模块设置)
同样,我不确定为什么这会如此困难,或者我是否正确地完成了它,或者还没有发现任何问题(我有一个扩展 SherlockActivity 的空 Activity,它确实构建了,我可以将它部署到模拟器上并在模拟器上运行),但你去吧。