Android: почему бы не увидеть классы из субмодуля? - PullRequest
0 голосов
/ 17 декабря 2018

Android Studio 3.2.1

В моем основном приложении есть модуль "binding". В этом модуле в директории есть jar: /libs/androidbinding.jar (gueei.binding.*)

Приятно.Модуль "binding" успешной сборки.

Теперь в основном приложении в app / build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.myproject"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.1.1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }
}

// must be version 4.5.2
def AAVersion = '4.5.2'

dependencies {
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    annotationProcessor "org.androidannotations:ormlite:$AAVersion"

    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:animated-vector-drawable:28.0.0'
    implementation 'com.android.support:exifinterface:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:customtabs:28.0.0'
    implementation 'com.android.support:support-media-compat:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'

    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'org.apache.commons:commons-lang3:3.8.1'
    implementation 'org.apache.httpcomponents:httpclient:4.5.6'
    implementation 'com.google.android.gms:play-services-gcm:16.0.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.j256.ormlite:ormlite-android:5.1'
    implementation 'commons-io:commons-io:2.6'
    implementation "org.androidannotations:androidannotations-api:$AAVersion"
    implementation "org.androidannotations:ormlite-api:$AAVersion"

    implementation project(':binding')

}

Как видите, я использую:

 implementation project(':binding')

Но когда я пытаюсь построить основной проект " app ", я получаю сообщение об ошибке:

import gueei.binding.Binder.InflateResult;
import gueei.binding.observables.StringObservable;

error: package gueei.binding.Binder does not exist

Но lib androidbinding.jar содержиткласс "gueei.binding.Binder.InflateResult".

Почему основной " app " не видит модуль " привязка "?

PS

Если я скопирую androidbinding.jar в app / libs / , я получу еще одну ошибку:

AGPBI: {"kind":"error","text":"Program type already present: gueei.binding.AttributeBinder$RefViewAttributeProvider","sources":[{}],"tool":"D8"}
:app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
:app:buildInfoGeneratorDebug
...