W moim android projektu, mam dwa moduły,Jak zaimportować klasę modułu backend do modułu aplikacji w Android studio
modułApp
moduł backend
Chcę zaimportować klasę modułu zaplecza do jednej z moich klas modułu aplikacji. ale gdy próbuję zaimportować go jak ten
import com.me.you.backend.entities
dostaję błąd Error:(52, 58) error: package com.me.you.backend.entities does not exist
Następną rzeczą, że próbowałem to skompilować mój moduł backend w mojej aplikacji build.gradle
tak
dependencies {
....
compile project(':backend')
}
Ale otrzymuję 13 ostrzeżeń! tego typu
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
i kiedy uruchomić mój moduł aplikacji, otrzymuję ten błąd
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
java.util.zip.ZipException: duplikat wpisu: com/google/interfejsu App Engine /repackaged/com/google/api/client/auth/oauth2/AuthorizationCodeFlow$Builder.class
questi na temat:
Jak mogę skutecznie zaimportować moją klasę backendu?
@johny_kb Załóżmy, że tworzę ten moduł, wstawię w nim klasę backendu. ta klasa backendu ma metodę, która wywołuje inną klasę backendu. w końcu to jak umieszczanie wszystkich klas zaplecza w innym module (kopiowanie wklejania). a kiedy "skompiluję projekt (": commons ")" otrzymam te same ostrzeżenia i błędy! –
Powiedz mi, jeśli źle rozumiem, co mówisz: masz klasę, która ma odniesienie do klasy zaplecza, i chcesz udostępnić ją aplikacji, więc klient może bezpośrednio wywołać tę metodę? Jeśli jest to klasa kontrolna, myślę, że nie można jej udostępnić między dwoma modułami. Rozwiązanie z "commons" wymaga w swoich klasach domen pakietowych, dzielonych między serwer i klienta. Jako przykład, jeśli mam klasę domeny "com.aproject.User", mogę umieścić ją w module "Commons", a następnie, w backend i aplikacji mogę go zaimportować. –