2015-10-16 74 views
5

在我的Android項目,我有兩個模塊,如何導入後端模塊類爲應用程序模塊在Android Studio中

  • 應用模塊

  • 後端模塊

我想將一個後端模塊類導入到我的一個應用模塊類中。但是當我嘗試導入像這樣

import com.me.you.backend.entities 

我得到一個錯誤Error:(52, 58) error: package com.me.you.backend.entities does not exist

,我試圖接下來的事情是編譯在我的應用程序的build.gradle我的後端模塊這樣

dependencies { 
.... 
compile project(':backend') 
} 

我得到13警告!重複的條目:COM /谷歌/ AppEngine上這種類型的

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 

當我跑我的應用程序模塊,我得到這個錯誤

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. 

java.util.zip.ZipException的 /repackaged/com/google/api/client/auth/oauth2/AuthorizationCodeFlow$Builder.class

問題1 on

如何成功導入我的後端類?

回答

1

解決方案是增加後端模塊扶養在我的應用程序模塊的build.gradle這樣

compile project(path: `:backend`, configuration: `android-endpoints`) 

之後,我重建我的項目(建設>重建項目)。一切都很好。

0

你爲什麼不嘗試創建一個新的模塊「Commons」。在那裏,你可以把「後臺」和「應用」之間的所有共享類加入你的gradle這個文件:

compile project(':commons') 
+0

@johny_kb假設我創建了該模塊,並在其中放置了一個後端類。該後端類有一個調用另一個後端類的方法。最後,就像將所有後端類放入另一個模塊(複製粘貼)一樣。當我編譯項目(':commons')'我最終會得到相同的警告和錯誤! –

+0

告訴我,如果我誤解你的意思:你有一個類有一個後端類的引用,你想與應用程序共享,所以客戶端可以直接調用這個方法嗎?如果它是一個控制類,我認爲你不能在兩個模塊之間共享它。具有'commons'的解決方案需要其包域類,在服務器和客戶端之間共享。例如,如果我有一個域類「com.aproject.User」,我可以將它放在「Commons」模塊中,然後在後端和應用程序中導入它。 –

相關問題