2015-10-16 112 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”模块中,然后在后端和应用程序中导入它。 –

相关问题