2

我正在尝试在我的应用程序中使用Android IBeacon 库。我在我的 gradle 文件中添加了所有依赖项,并且 gradle 同步失败并出现以下错误:

Failed to refresh Gradle project 'IBeaconTest'
        Could not find com.radiusnetworks:AndroidIBeaconLibrary:0.7.6.
        Required by:
        IBeaconTest:ibeacon:1.0

这是我的项目结构:

在此处输入图像描述

更新1:

模块的 build.gradle 文件(IbeaconTest/ibeacon/build.gradle):

apply plugin: 'android'

android {
compileSdkVersion 19
buildToolsVersion '19.0.1'

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

dependencies {
compile 'com.radiusnetworks:AndroidIBeaconLibrary:0.7.6@aar'
compile fileTree(dir: 'libs', include: ['*.jar'])
}

主项目的build.gradle(IBeaconTest/build.gradle):

buildscript {
repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.9.+'
}
}

allprojects {
repositories {
    mavenCentral()
}
}
4

2 回答 2

2

尝试将flatDir配置放在模块的 build.gradle 文件中。

像这样:

模块的 build.gradle 文件(IbeaconTest/ibeacon/build.gradle):

apply plugin: 'android'

android {
compileSdkVersion 19
buildToolsVersion '19.0.1'

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}
repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}
}

dependencies {
  compile 'com.radiusnetworks:AndroidIBeaconLibrary:0.7+@aar'
  compile fileTree(dir: 'libs', include: ['*.jar'])
}
于 2014-04-11T19:14:13.027 回答
0

您要完成的工作超出了包含库所需的工作量。从他们的快速入门(http://developer.radiusnetworks.com/ibeacon/android/configure.html)开始,您可以通过执行以下操作在 Android Studio 中使用该库:

  1. 下载 AAR 文件 ( http://developer.radiusnetworks.com/ibeacon/android/download.html )
  2. 在您的模块目录中创建一个 /libs 目录并将 AAR 文件复制到那里。
  3. 编辑您的 build.gradle 文件,并在您的存储库中添加一个“flatDir”条目,如下所示:

    repositories {
        mavenCentral()
        flatDir {
            dirs 'libs'
        }
    }
    
  4. 编辑您的 build.gradle 文件以将此 AAR 添加为依赖项,如下所示:

    dependencies {
        compile 'com.radiusnetworks:AndroidIBeaconLibrary:0.7.1@aar'
    }
    

请按照这些说明进行操作,而不是像您一样将其作为库项目包含在内。

您当前执行此操作的方式,在将库作为项目包含时,会发生该错误,因为它期望sonatypeRepo设置为 Maven 存储库的 URL,但它没有在任何地方定义。但是,如果您按照他们的说明添加库,则不必担心。

于 2014-04-11T17:53:33.750 回答