无法将AndEngine添加到Android Studio

时间:2014-01-12 19:34:11

标签: android gradle android-studio andengine android-gradle

我正在尝试将AndEngine添加到Android Studio近2天,但无法这样做。我尝试了以下两种方法,但都没有效果。

第一次尝试 我从GitHub Link下载了AndEngine代码 - 这不是Gradle项目

并尝试将其添加到我的Android Studio build.gradle和settings.gradle中,但是我收到此错误,我的屏幕截图:https://postimg.cc/image/5mcvpvsar/ (我想我得到了这个错误,因为AndEngine不是一个gradle项目 - 如何让它成为一个重复的项目?)

第二次尝试 我也尝试在/ libs文件夹中添加andengine.jar(我刚刚用google搜索的文件)并右键单击 - > “添加为库”,但我仍然不能在我的项目文件中“导入org.andengine ....”。

在线提供的所有教程都在Eclipse中,我使用的是Android Studio。

我甚至无法开始。

更新:是的,我放弃了使用Android Studio for AndEngine!花了15分钟在Eclipse中完成这项工作,相比之下不成功的周末(我永远不会回来!)我花在了Android Studio上

5 个答案:

答案 0 :(得分:6)

我使用这种技术:我在settings.gradle

中设置了这个
include 'andengine'

project(':andengine').projectDir = new File(settingsDir, '../relative/path/to/andengine')

位于项目的根目录中(我认为gradle已经为您的主项目创建了它)。

AndEngine在AndEngine项目中使用build.gradle,如下所示

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

并添加项目的依赖项

compile project(':andengine')

也许您必须关闭并重新打开Android Studio,但通常对我来说这很有效。

BTW写完答案之后我看到有人为gradle构建文件打开了pull request

答案 1 :(得分:6)

我为此创建了一个教程 - 如何将Andengine,Andengine Tile Map,Andengine PhysicsBox2D添加到Android Studio 0.8.9。

这是链接,我希望一切正常 - https://docs.google.com/document/d/1zk2QjNiPvkj52G4qSVivEPrLfkCUVqmnCVH8TfsnER8/edit

ANDENGINE WITH ANDROID STUDIO 0.8.9

注意:我使用AnchorCenter brach和TortoiseGit来获取所有文件。

  1. 使用TortoiseGit从github下载Andengine:https://github.com/nicolasgramlich/AndEngine
  2. 下载后使用TortoiseGit切换到分支GLES2-AnchorCenter
  3. 在Android Studio中创建新项目
  4. 创建新模块:
  5. 选择文件 - >新模块 - > Android库
  6. 将应用程序名称设置为AndEngine
  7. 将模块名称设置为AndEngine
  8. 将包名称设置为org.andengine
  9. 设置最低SDK 14
  10. 目标SDK 19
  11. 编译19
  12. 主题无
  13. 继续点击下一步,直到创建模块(没有选择的内容)
  14. 输入您已下载Andengine的文件夹,输入src / org / andengine并复制其中的所有文件。
  15. 将复制的文件粘贴到项目src / java / org.andengine中的新模块中。粘贴后,删除了默认情况下创建的MainActivity
  16. 输入您已下载Andengine的文件夹,复制AndroidManifest并将其粘贴到新模块(src / main)
  17. 将模块添加到项目中:
  18. 选择文件 - >项目结构 - > APP->依赖
  19. 单击“+”按钮并选择“模块依赖关系”
  20. 从列表中选择您的AndEngine模块
  21. 检查app文件夹(build.gradle)中的项目gradle并确保在依赖项下有这样的行 - compile project(':AndEngine')
  22. 您现在应该可以在项目中使用AndEngine

    ANDENGINE TMX TILED MAP EXTENSION with ANDROID STUDIO 0.8.9

    注意:我们以与Andengine相同的方式执行此操作,但我们更改了一些内容:

    1. 使用TortoiseGit从github下载AndengineTMX:https://github.com/nicolasgramlich/AndEngineTMXTiledMapExtension
    2. 下载后使用TortoiseGit切换到分支GLES2-AnchorCenter
    3. 在Android Studio中创建新项目
    4. 创建新模块:
    5. 选择文件 - >新模块 - > Android库
    6. 将应用程序名称设置为AndEngineTMXTiledMapExtension
    7. 将模块名称设置为AndEngineTMXTiledMapExtension
    8. 将包名称设置为org.andengine.extension.tmx
    9. 设置最低SDK 14
    10. 目标SDK 19
    11. 编译19
    12. 主题无
    13. 继续点击下一步,直到创建模块(没有选择的内容)
    14. 输入您下载AndengineTMX的文件夹,输入src / org / andengine / extension / tmx并复制其中的所有文件。
    15. 将复制的文件粘贴到项目src / java / org.andengine.extension.tmx中的新模块中。粘贴后,删除了默认情况下创建的MainActivity
    16. 输入已下载AndengineTMX的文件夹,复制AndroidManifest并将其粘贴到新模块(src / main)
    17. 将模块添加到项目中:
    18. 选择文件 - >项目结构 - > APP->依赖
    19. 单击“+”按钮并选择“模块依赖关系”
    20. 从列表中选择您的AndengineTMX模块
    21. 在app文件夹(build.gradle)中检查项目gradle并确保在依赖项下有这样的行 - compile project(':AndEngineTMXTiledMapExtension')
    22. 您现在应该可以在项目中使用AndEngineTMXTiledMapExtension。

      ANDENGINE PHYSICSBOX2D与ANDROID STUDIO 0.8.9

      1. 下载此文件 - http://d-h.st/FyC
      2. 解压缩文件
      3. 您应该有2个jar文件,将它们复制到您的项目app / libs
      4. 右键单击andenginephysicsbox2dextension.jar并选择“Add as library”(或类似内容)
      5. 在app文件夹中打开build.gradle
      6. 在依赖项下添加编译文件('lib / physicsbox2d_so_files.jar')
      7. 您现在应该可以在项目中使用PhysicsBox2D。

答案 2 :(得分:4)

查看本教程,了解如何在android studio中使用andengine

http://javaprogrammernotes.blogspot.in/2014/05/settings-up-andengine-in-android-studio.html

教程简介(如果您遇到任何问题,请查看完整教程):

假设您已经创建了一个项目并且它具有默认结构。首先在项目的根目录中创建名为third_party的文件夹。然后在third_party目录中创建名为andengine和andenginebox2d的子目录。我假设你已经为它下载或克隆了AndEngine和Box2d扩展。将AndEngine和AndEngineBox2d分别放在andengine和andenginebox2d目录中。在andengine目录和andenginebox2d目录中创建名为build.gradle的文件。 Build.gradle文件是一个告诉gradle如何构建项目的文件。

apply plugin: 'android-library'

android {
compileSdkVersion 17
buildToolsVersion "19.0.3"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 19
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-project.txt')
    }
}

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }

    instrumentTest.setRoot('tests')
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

打开位于项目根目录中的settings.gradle,并为其添加两行:

include ':third_party:andengine'
include ':third_party:andenginebox2d'

接下来打开build.gradle,它位于app目录中并添加

compile project(':third_party:andengine')

最后一步是在andegine和andenginebox2d目录中打开AndroidManifest.xml,使它们看起来像这样:

<!--?xml version="1.0" encoding="utf-8"?-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.andengine">

<application>
</application>
</manifest>
由于清单合并工具中的错误,需要

应用程序块。 那就是它!现在清理项目并按下运行。一切都应该工作得很好。

答案 3 :(得分:4)

由于问题的答案还没有被接受,而且我知道人们仍然在寻找解决方案,我发现这个很棒的网站有非常清晰简洁的指示将AndEngine导入你的Android Studio项目。这是链接:

http://geq-i.blogspot.com/2014/02/how-to-setup-andengine-in-android-studio.html

所有积分将转至创建此页面的用户。我可以证明这是完美的。在尝试了10种不同的方法后,我只是使用了这个网站。 链接上唯一需要注意的是最后一部分:

$ cd <project folder>/AndEngine/src/main
$ rm -r java/org
$ mv org java

这部分是将组织文件夹从.复制到./main/java。最好的方法是在项目完成构建一次后将org文件夹拖放到main / java中。

希望这有帮助!

答案 4 :(得分:4)