当前位置: 首页 > 面试题库 >

为什么即使Android Studio在代码中未显示错误,库模块中的程序包在编译时也不存在?

程俊誉
2023-03-14
问题内容

我的libs / AndEngine文件夹中有一个库模块(AndEngine)。从那里的代码可以很好地编译。

在我的根settings.gradle文件中,我有:

include ':app:libs:AndEngine'
include ':app'

然后在我的应用程序的build.gradle文件中,我具有以下依赖性:

compile project('libs:AndEngine')

在我的应用程序代码中,所有导入甚至自动补全都可以正常工作,而没有任何错误。在Android
Studio中,找到了所有软件包。但是当我去编译时,我得到了大约一百个这样的错误:

error: package org.andengine.entity.primitive does not exist
import org.andengine.entity.primitive.Rectangle;

我来自带有eclipse的ADK,所以我是android studio的新手。如果有人对这个问题有任何答案,我将不胜感激!


问题答案:

更改此行。

compile project('libs:AndEngine')

compile project(':app:libs:AndEngine')

无论如何,将库模块放在app模块内部不是一个好主意。我建议您使用以下结构:

root
  settings.gradle
  app
    build.gradle
  libs
    AndEngine
      build.gradle

然后在你的 settings.gradle

include ':libs:AndEngine'
include ':app'

在你的app/build.gradle

compile project(':libs:AndEngine')


 类似资料:
  • 我有以下两个实体,但在Trainer中的oneToMany关系行显示错误消息“Join table trainer_batch can not be found”,而我使用的是@JoinColumn注释。PLGG如下所示... persistance.xml如下所示

  • 问题内容: 为什么以下显示在Linux和Windows中有所不同? 在Windows中: ¿ 在Linux中: 一个 问题答案: System.out.println()以系统默认编码输出文本,但是控制台根据其自身的编码(或“代码页”)设置解释该输出。在Windows机器上,这两种编码似乎匹配,但是在Linux机器上,输出显然是以UTF-8格式输出的,而控制台将其解码为ISO-8859-1之类的单

  • 问题内容: 我有一个包,其中导入了javax.servlet。和javax.servlet.http。,当我尝试在命令提示符下对其进行编译时,出现错误 软件包javax.servlet不存在 我使用JDK 1.7.0和Tomcat 6.0。 问题答案: 您需要将Tomcat 文件的路径添加到编译时类路径。 Java需要在类路径中查找导入的依赖项。否则,它将默认为上面示例中包含的当前文件夹。的是Wi

  • 我正在尝试向现有的企业项目添加maven支持。这是一个多模块项目,前两个模块的编译和打包没有问题,但我面临编译错误,我试图在多个模块中使用相同的依赖关系。我的结构是: 我支持在Eclipse上打开的项目,它没有显示任何错误。当我从父级运行时,它成功地安装了模块1和模块2,但在模块3上失败,表明,。包裹xxx。yyy和符号XXXYYY位于模块2和3的依赖项上列出的jar中。 由于两个模块都依赖于同一

  • 包javax.servlet不存在 我使用JDK1.7.0和Tomcat6.0。