一尘不染

将本地 .aar 文件添加到我的 gradle 构建中

javascript

所以我创建了一个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

阅读 97

收藏
2022-08-24

共1个答案

一尘不染

你把你的flatDir块放在错误的repostories块中。里面的repositoriesbuildscript告诉 Gradle 在哪里可以找到 Android-Gradle 插件,而不是其余的依赖项。您需要有另一个像这样的顶级repositories块:

repositories {
    mavenCentral()
    flatDir {
        dirs 'aars'
    }
}

我对此进行了测试,它在我的设置中运行良好。

2022-08-24