In meinem Android-Projekt zu importieren, ich habe zwei Module,Wie eine Backend-Modul Klasse in ein App-Modul im Android Studio
App Modul
Backend-Modul
Ich möchte eine Backend-Modul-Klasse in eine meiner App-Modul-Klassen importieren. aber wenn ich versuche, es zu importieren, wie dies
import com.me.you.backend.entities
Ich erhalte einen Fehler Error:(52, 58) error: package com.me.you.backend.entities does not exist
Das nächste, was ich versuchte, mein Backend-Modul in meiner App build.gradle
wie diese
dependencies {
....
compile project(':backend')
}
zu kompilieren Aber Ich bekomme 13 Warnungen! dieser Art
WARNING: Dependency org.apache.httpcomponents:httpclient:4.4.1 is ignored
for debug as it may be conflicting with the internal version provided by Android.
In case of problem, please repackage it with jarjar to change the class packages
Und wenn ich meine App-Modul laufen, bekomme ich diesen Fehler
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: doppelte Eintrag: com/google/appengine /repackaged/com/google/api/client/auth/oauth2/AuthorizationCodeFlow$Builder.class
Questi auf
Wie kann ich meine Backend-Klasse erfolgreich importieren?
@johny_kb Angenommen, ich erstelle dieses Modul, lege eine Backend-Klasse hinein. Diese Back-End-Klasse verfügt über eine Methode, die eine andere Back-End-Klasse aufruft. Am Ende ist es so, als würde man alle Backend-Klassen in ein anderes Modul schreiben (Kopieren einfügen). und wenn ich das Projekt (': commons') kompiliere, werde ich am Ende dieselben Warnungen und Fehler bekommen! –
sagen Sie mir, wenn ich falsch verstehe, was Sie sagen: Sie haben eine Klasse, die eine Referenz mit einer Backend-Klasse hat, und Sie möchten es mit der App teilen, so dass Client diese Methode direkt aufrufen kann? Wenn es sich um eine Kontrollklasse handelt, kann sie nicht zwischen zwei Modulen ausgetauscht werden. Lösung mit 'Commons' erfordert in ihrem Paket Domain-Klassen, die zwischen Server und Client geteilt werden. Wenn ich zum Beispiel eine Domain-Klasse "com.aproject.User" habe, kann ich sie in das "Commons" -Modul einfügen und dann kann ich sie im Backend und in der App importieren. –