2014-11-02 13 views
5

Mam bibliotekę z niektórymi widżetami w centrum maven. Kiedy dodać tę bibliotekę jako zależność (od maven centralne) dla projektu za pomocą Gradle, otrzymuję:Biblioteka Androida Deklaracja stylu-stylowy błąd Runtime

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

Gdybym ręcznie pobrać .aar i to, że w projekcie, wszystko działa bez zarzutu. Próbowałem użyć uzupełnienia kodu Android Studio, aby sprawdzić, czy biblioteka zawierała bibliotekę R. Kiedy używam zależności z maven, wpisanie com.my.pacakge.R nie zwróci żadnych wyników, ale gdy użyję lokalnego pliku .aar, zwróci on R dla biblioteki.

Oto kod biblioteka:

// 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

Pokaż nam pliki kompilacji, w których uwzględniasz zależność. –

+0

Mam ten sam problem z moim aarem. Nie mogę umieścić mojej biblioteki na maven, ponieważ nie może ona korzystać z atrybutów, które są stylowe. "publishNonDefault false" nie działa dla mnie. – NeoKree

Odpowiedz

Powiązane problemy