Android AAR缺少我的依赖项

Android AAR缺少我的依赖项,android,aar,Android,Aar,我创建了一个新项目,其中只有一个模块是库 这是我的身材,格雷德尔 apply plugin: 'com.android.library' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 18 targetSdkVersion 21 versionCode 1 versionNa

我创建了一个新项目,其中只有一个模块是库

这是我的身材,格雷德尔

apply plugin: 'com.android.library'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
             'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'org.altbeacon:android-beacon-library:2+@aar'
}
如果我构建这个项目,它会生成一个名为
app debug.aar
的45kb文件
aar
。我想知道为什么我需要包括主项目的所有依赖项,因为如果我只包括
app debug.aar
的依赖项,它会抛出一个
ClassNotFoundException

为什么我要这么做

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile ('org.altbeacon:android-beacon-library:2+@aar')
    compile (name:'app-debug', ext:'aar')
}
我能找到一种不需要在主项目(apk)中包含altbeacon之类的依赖项,并且只使用
app debug.aar
依赖项的方法吗


提前感谢。

在您的应用程序项目中尝试以下方法:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile (name:'app-debug', ext:'aar') {
       transitive = true
    }
}

这里似乎描述了您的问题:基本上,您需要使用命令gradle assembleehm创建aar..我会尝试..我使用transitive=true进行了尝试,但没有成功。transitive仅适用于从maven存储库下载aar时,而不适用于本地文件。我没有注意到这一点的错误。如果您使用gradle Assembly构建aar,然后包含该aar,它应该包含所有依赖项。gradle Assembly仍在创建一个45kb的.aar文件(altbeacon尚未添加到app debug.aar),那么他们可能已经修复了它。无论如何,Android Studio团队表示,aar文件不应该包含外部依赖项。当您将aar上载到maven存储库时,pom.xml将包含依赖项,并将随库一起下载。或者,您可以将库作为子模块添加到项目中,这样也可以正常工作。但不能在aar文件中打包。