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

Zac*_*ach 3 java android android-studio build.gradle android-gradle-plugin

我的libs/AndEngine文件夹中有一个库模块(AndEngine).编译的代码很好.

在我的root settings.gradle文件中,我有这个:

include ':app:libs:AndEngine'
include ':app' 
Run Code Online (Sandbox Code Playgroud)

然后在我的应用程序的build.gradle文件中,我在依赖项中有这个:

compile project('libs:AndEngine')
Run Code Online (Sandbox Code Playgroud)

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

error: package org.andengine.entity.primitive does not exist
import org.andengine.entity.primitive.Rectangle;
Run Code Online (Sandbox Code Playgroud)

我是带着eclipse从ADK来的,所以我是android studio的新手.如果有人对这个问题有任何答案,我将非常感激!

Gab*_*tti 6

改变这一行.

compile project('libs:AndEngine')
Run Code Online (Sandbox Code Playgroud)

compile project(':app:libs:AndEngine')
Run Code Online (Sandbox Code Playgroud)

无论如何,将库模块放在app模块中并不是一个好主意.我建议你使用这个结构:

root
  settings.gradle
  app
    build.gradle
  libs
    AndEngine
      build.gradle
Run Code Online (Sandbox Code Playgroud)

然后在你的 settings.gradle

include ':libs:AndEngine'
include ':app' 
Run Code Online (Sandbox Code Playgroud)

在你的 app/build.gradle

compile project(':libs:AndEngine')
Run Code Online (Sandbox Code Playgroud)