У меня есть библиотека с некоторыми виджетами в maven central. Когда я добавляю эту библиотеку в качестве зависимости (от Maven центрального) к проекту с использованием Gradle, я получаю:Android-библиотека Declare-Styleable Runtime Error
java.lang.NoClassDefFoundError: com.my.pacakge.R$styleable
Если я вручную загрузить .aar и включают в себя, что в проекте, все работает отлично. Я попытался с помощью завершения кода Android Studio проверить, включен ли в библиотеку R
. Когда я использую зависимость maven, ввод com.my.pacakge.R
не возвращает результатов, но когда я использую локальный .aar, он возвращает R
для библиотеки.
Вот код библиотеки:
// 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>
Пожалуйста, покажите нам файлы сборки, в которых вы включаете зависимость. –
У меня такая же проблема с моим ааром. Я не могу поместить свою библиотеку на maven, потому что она не может использовать атрибуты стиля. "publishNonDefault false" не работал для меня. – NeoKree