Ich baue gerade eine Android-App, wo ich meine Hauptanwendung habe und ich habe eine Android-Bibliothek, die die Hauptanwendung verwendet.Android-Bibliothek - Sie müssen die Compilier-Bibliothek sowohl in der Bibliothek als auch in der Haupt-App hinzufügen?
In meiner Bibliothek verwende ich eine bestimmte gradle zusammengestellt Android-Bibliothek wie folgt:
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
ich meine Bibliothek dann in die Hauptanwendung hinzufügen wieder Gradle wie folgt verwendet:
compile(group: 'my.apps.package.name', name: 'app', version: "1.0.0")
Die Rx Die Bibliothek wird nur in der Android-Bibliothek und nicht in der Haupt-App verwendet. Wenn ich jedoch meine Hauptanwendung ausführe, erhalte ich die folgende Fehlermeldung:
Caused by: java.lang.ClassNotFoundException: Didn't find class "io.reactivex.Observable" on path: DexPathList...
Um es zu beheben Ich muss die Rx-Bibliothek zu meiner Hauptanwendungen Gradle-Datei sowie meine Bibliotheken Gradle-Datei hinzufügen, aber das scheint nicht richtig, muss ich die Abhängigkeiten in meiner Bibliothek falsch deklarieren? Kann mir jemand in die richtige Richtung zeigen, um das zu erreichen?
Frage: Verwenden Sie MultiDex? A: Ja, es
// Enabling multidex support.
multiDexEnabled true
Sie müssen diese Bibliothek nicht zur Haupt-App hinzufügen. Was du getan hast, ist richtig. Verwenden Sie Multidex? Es scheint ein Problem mit multidex zu sein. –
Ja multidex ist in der Haupt-App aktiviert, aber nicht in der Bibliothek –
Können Sie versuchen, die Bibliothek zu kompilieren, indem Sie "compile project (': yourlibname') " verwenden? –