所以我创建了一个Android库并将其成功编译为.aar文件,我将其称为aar文件:"projectx-sdk-1.0.0.aar"
现在,我希望我的新项目依赖于此aar,因此我所做的就是关注这篇文章:http://life.nimbco.us/referencing-local-aar-files-with-android-studios-new-gradle-based-build-system/
但是帖子使我感到困惑,因为我没有得到理想的结果:
aar的软件包名称是:com.projectx.photosdk
,其中的模块称为sdk
这是我当前的项目结构:
|-SuperAwesomeApp
|--.idea
|--gradle
|--App
|---aars
|----projectx-sdk-1.0.0.aar
|---build
|---jars
|---src
|---build.gradle
他是我的gradle构建文件:
apply plugin: 'android'
buildscript {
repositories {
mavenCentral()
flatDir {
dirs 'aars'
}
}
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
compile 'com.projectx.photosdk:sdk:1.0.0@aar'
// compile files( 'aars/sdk-1.0.0.aar' ) // Does not work either
}
//编辑
我得到的错误:
Failed to refresh Gradle project 'SuperAwesomeApp'
Could not find com.projectx.photosdk:sdk:1.0.0.
Required by:
SuperAwesomeApp:App:unspecified
最佳答案
您将flatDir
块放到了错误的repostories
块中。 repositories
中的buildscript
块告诉Gradle在哪里可以找到Android-Gradle插件,但不能找到其余的依赖项。您需要这样的另一个顶级repositories
块:
repositories {
mavenCentral()
flatDir {
dirs 'aars'
}
}
我对此进行了测试,并且可以在我的设置上正常运行。