Библиотека Android aar не включает класс BR

Я разрабатываю небольшую библиотеку для тестирования создания библиотеки aar с привязкой данных.

Моя проблема в том, что когда я генерирую файл aar, он не включает класс BR, созданный для ссылок на привязку данных в макете. Но класс был создан Android Studio.

У вас есть решение этой проблемы?

Заранее спасибо.

build.gradle

apply plugin: 'com.android.library'
apply plugin: 'android-maven'

android {
    signingConfigs {
        release {
            keyAlias 'homelightcore'
            keyPassword 'overcraft'
            storeFile file('/Users/acidspike/Development/Certificats/Android/HomeLight/Core/homelightcore.jks')
            storePassword 'overcraft'
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
    dataBinding {
        enabled = true
    }
}

version '1.0'
group "fr.acidspike.homelight"

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:23.4.0'
    testCompile 'junit:junit:4.12'
    compile 'com.loopj.android:android-async-http:1.4.9'
}

proguard-rules.pro

-keep public class *

-keepclassmembers public class * {
   public *;
}

-keepattributes Exceptions

person Anthony Briand    schedule 20.10.2016    source источник


Ответы (1)


Я нашел решение, потому что proguard не обнаруживает использование членов класса BR.

Я добавил :

-keepclassmembers class **.R$* {
    public static <fields>;
}

в proguard-rules.pro, а класс BR становится доступным из .aar

person Anthony Briand    schedule 20.10.2016