为啥编译时库模块中的包不存在,即使 Android Studio 显示代码中没有错误?
Posted
技术标签:
【中文标题】为啥编译时库模块中的包不存在,即使 Android Studio 显示代码中没有错误?【英文标题】:Why do packages from library module does not exist upon compilation, even when Android Studio shows no errors in code?为什么编译时库模块中的包不存在,即使 Android Studio 显示代码中没有错误? 【发布时间】:2015-05-01 23:56:29 【问题描述】:我的 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 的新手。如果有人对此问题有任何答案,我将非常感激!
【问题讨论】:
【参考方案1】:改变这一行。
compile project('libs:AndEngine')
在
compile project(':app:libs:AndEngine')
在任何情况下,将库模块放在应用程序模块中都不是一个好主意。 我建议你使用这种结构:
root
settings.gradle
app
build.gradle
libs
AndEngine
build.gradle
然后在你的settings.gradle
include ':libs:AndEngine'
include ':app'
在你的app/build.gradle
compile project(':libs:AndEngine')
【讨论】:
我做的完全一样,但不会出错!还有什么问题!以上是关于为啥编译时库模块中的包不存在,即使 Android Studio 显示代码中没有错误?的主要内容,如果未能解决你的问题,请参考以下文章