Wenn ich eine App mit einem * .aar-Datei zu erstellen, statt des Moduls mit Gradle 4.x und im Anschluss an die docu über implementiert und api, Ich erwarte mit api die enthaltene aar-Datei hat alle Abhängigkeiten enthalten, aber es hat nicht.eine aar Bibliothek Ursache Verwenden Sie Abhängigkeiten mit api in Gradle 4.x fehlen
Wenn Sie das tun
git clone https://github.com/hannesa2/aar_dependency
./gradlew clean assembleDebug
bedeutet
dependencies {
api project(':mylibrary')
es richtig funktioniert.
Aber wenn ich insted von lib-Modul die vorherige erzeugt * .aar Datei als Abhängigkeit
dependencies {
api 'com.example.my.mylibrary:[email protected]'
verwenden (in demo app tun nur)
git checkout with_aar
./gradlew clean assembleDebug
Ich laufe in diesem
Aufgabe: app: transformClassesWithDesugarForDebug Ausnahme im Thread "main" java.lang.TypeNotPrenentE xception: Typ io.reactivex.ObservableTransformer nicht vorhanden bei sun.invoke.util.BytecodeDescriptor.parseSig (BytecodeDescriptor.java:85) bei sun.invoke.util.BytecodeDescriptor.parseMethod (BytecodeDescriptor.java:63) bei Sonne. invoke.util.BytecodeDescriptor.parseMethod (BytecodeDescriptor.java:41) bei java.lang.invoke.MethodType.fromMethodDescriptorString (MethodType.java:1067) bei com.google.devtools.build.android.desugar.LambdaDesugrading $ InvokedynamicRewriter. visitInvokeDynamicInsn (LambdaDesugaring.java:399) bei org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn (Unknown Source) bei org.objectweb.asm.MethodVisitor.visitInvokeDynamicInsn (Unknown Source)
Da ich normalerweise mit dem Hochladen der AAR-Artefakte in unsere Firma Maven Nexus hineingelaufen bin, habe ich diese demo-repo erstellt, um genau zu zeigen, was falsch ist. In Demo-App oder mit Maven sehe ich das gleiche Problem.
Weiß jemand, was ich falsch gemacht habe?
AAR Datei verbrauchen ** doens't enthalten ** die transitiven Abhängigkeiten. Veröffentlichen Sie es in einem maven Repo –
Mein aar verwendet z. RxJava, diese RxJava ist bereits in einem anderen Maven. Also ich denke, Ihre Empfehlung "Veröffentlichen Sie es in einem Maven Repo" ist erfüllt, oder liege ich falsch? Gibt es einen Weg für den aar-Verbraucher, ihn zu benutzen, ohne z. B. mit RxJava-Abhängigkeiten umzugehen? –