2015-12-14 15 views
18

Sviluppo il proprio modulo di libreria dove utilizzo Snackbar.Impossibile trovare android.support.design.widget.Snackbar nella libreria di progettazione di supporto

Ecco il mio file Gradle:

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'me.zhanghai.android.materialprogressbar:library:1.1.4' 
    compile 'com.android.support:design:23.1.1' 
} 

Come potete vedere, ho aggiunto import com.android.support:design:23.1.1, ma come risultato che ottengo l'errore:

error: package android.support.design.R does not exist

Come posso risolvere questo problema?

+1

Infatti il ​​pacchetto di importazione che hai inserito nel tuo preventivo blocco non è corretto. Questo è il percorso corretto 'import android.support.design.widget.Snackbar' –

+0

cambia la versione dello strumento di compilazione in 23.1.1 –

+1

aggiungi, compila" com.android.support:design:23.0.0 " –

risposta

0

Rimuovere Support v4 dal progetto e quindi aggiungere la libreria di progettazione di supporto.

1

Prova questa

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'me.zhanghai.android.materialprogressbar:library:1.1.4' 
compile 'com.android.support:design:22.2.1' 
} 
22

aggiungere questa riga per le dipendenze nel file Gradle

compile 'com.android.support:design:22.2.0' 

Fonte: http://android-developers.blogspot.co.il/2015/05/android-design-support-library.html
(scorrere fino in fondo)

+0

Ho aggiunto compilazione ''com.android.support: design: 23.1.1'' Ma non aiuta. C'è qualche differenza tra le versioni modificate? –

+0

Niente di significativo dal punto di vista del codice, ma ho avuto molti problemi nella modifica delle versioni dopo l'avvio di un progetto, quindi posso solo presumere che ci siano altre impostazioni che devono essere modificate. Se è necessario modificare la versione, provare ad avviare un nuovo progetto e importare tutto il codice e le risorse. –

9

ho risolto il problema ora :)

  1. Aprire [File] -> [Struttura Progetto ...]

  2. Selezionare [App] nel pad sinistra

  3. Selezionare [Dependencies] nelle schede giusti

  4. Fare clic su [ +] sul lato destro

  5. Selezionare [1 dipendenza Biblioteca]

  6. Scegliere [com.android.support:d esign

  7. Fare clic sul pulsante ~~] [OK] e così via

Risultato: biblioteca aggiunto in [Progetto librerie esterne]

2

Basta digitare il nome completo della classe android.support. design.widget.SnackBar anziché solo SnackBar ad ogni occorrenza. Risolve il problema per me.

+0

Risolve anche il mio problema. –

5

Per ottenere l'Snackbar nella nostra proyect Android è sufficiente aggiungere il riferimento di supporto: Libreria del progetto all'interno del file build.gradle:

dependencies { 
    ... 
    ... 
    compile 'com.android.support:design:25.0.1' 
} 

Assicurarsi di sincronizzare il progetto con i file Gradle, questo risolverà il problema .


tuo messaggio di errore è:

error: package android.support.design.R does not exist

essere sicuri di avere la corretta importazione:

import android.support.design.widget.Snackbar;