Domanda

Sto cercando di utilizzare il Libreria IBeacon Android nella mia domanda.Ho aggiunto tutte le dipendenze nel mio file Gradle e la sincronizzazione Gradle fallisce con il seguente errore:

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

Questa è la struttura del mio progetto:

enter image description here

Aggiornamento 1:

File build.gradle del modulo (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 del progetto principale (IBeaconTest/build.gradle):

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

allprojects {
repositories {
    mavenCentral()
}
}
È stato utile?

Soluzione

Prova a mettere la configurazione flatDir nel file Build.Gradle del modulo.

In questo modo:

file build.gradle del modulo (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'])
}
.

Altri suggerimenti

Stai svolgendo più lavoro del necessario per includere la libreria.Dal loro rapido avvio (http://developer.radiusnetworks.com/ibeacon/android/configure.html), puoi utilizzare la libreria in Android Studio in questo modo:

  1. Scarica il file AAR (http://developer.radiusnetworks.com/ibeacon/android/download.html)
  2. Crea una directory /libs all'interno della directory del modulo e copia lì il file AAR.
  3. Modifica il tuo file build.gradle e aggiungi una voce "flatDir" ai tuoi repository in questo modo:

    repositories {
        mavenCentral()
        flatDir {
            dirs 'libs'
        }
    }
    
  4. Modifica il tuo file build.gradle per aggiungere questo AAR come dipendenza in questo modo:

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

Segui queste istruzioni invece di includerlo come progetto di libreria come hai fatto tu.

Nel modo in cui lo stai facendo attualmente, quando includi la libreria come progetto, l'errore si verifica perché è in attesa sonatypeRepo da impostare su un URL per il repository Maven, ma non è definito da nessuna parte.Ma se segui le istruzioni per aggiungere la libreria, non dovresti preoccuparti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top