2014-11-02 13 views
5

Ho una libreria con alcuni widget in Maven centrale. Quando aggiungo che biblioteca come una dipendenza (dal centro di Maven) per un progetto che utilizza Gradle, ottengo:Libreria Android Declare-Styleable Errore di runtime

java.lang.NoClassDefFoundError: com.my.pacakge.R$styleable 

Se scarico manualmente il .aar e comprendono che nel progetto, tutto funziona bene. Ho provato ad utilizzare il completamento del codice di Android Studio per verificare se fosse incluso lo R della libreria. Quando uso la dipendenza Maven, digitando com.my.pacakge.R non restituisce risultati, ma quando uso un .arar locale restituisce il R per la libreria.

Ecco il codice della libreria:

// widget constructor 
public ForegroundImageView(Context context, AttributeSet attrs) { 
    super(context, attrs); 

    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ForegroundImageView); 
    Drawable foreground = a.getDrawable(R.styleable.ForegroundImageView_android_foreground); 
    if (foreground != null) { 
     setForeground(foreground); 
    } 
    a.recycle(); 
} 

// attrs.xml 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="ForegroundImageView"> 
     <attr name="android:foreground"/> 
    </declare-styleable> 
</resources> 
+0

Mostraci i file di build in cui stai includendo la dipendenza. –

+0

Ho lo stesso problema con il mio aar. Non riesco a mettere la mia libreria su Maven perché non può usare attributi stilizzabili. "publishNonDefault false" non ha funzionato per me. – NeoKree

risposta

Problemi correlati