所以我创建了一个 Android 库并成功地将它编译成一个 .aar 文件。我将此 aar 文件命名为: "projectx-sdk-1.0.0.aar"
。现在我希望我的新项目依赖于这个 aar,所以我所做的就是关注 这篇文章。
但是这篇文章让我感到困惑,因为我没有得到想要的结果:
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
原文由 sn0ep 发布,翻译遵循 CC BY-SA 4.0 许可协议
您将
flatDir
块放在错误的repostories
块中。repositories
内部的块buildscript
告诉 Gradle 在哪里可以找到 Android-Gradle 插件,而不是其余的依赖项。你需要有另一个顶级repositories
像这样的块:我对此进行了测试,它在我的设置中运行良好。