LibGDX 文件未在 Android Studio 上首次加载

Posted

技术标签:

【中文标题】LibGDX 文件未在 Android Studio 上首次加载【英文标题】:LibGDX file not loading for first time on Android Studio 【发布时间】:2015-10-23 18:55:00 【问题描述】:

所以,我对 LibGDX 完全陌生,这是我第一次创建项目。当我创建它时,我将它设置为常规的东西,获取我的 SDK 路径并输入它,使网站成为com.example.MY_COMPUTER_NAME.gametest。我生成了项目,然后转到 android Studio(我做了它,所以我只是为 android BTW 开发它),从我在桌面的编程文件中的 android 文件中创建的文件中导入项目,然后让它加载。但是,在同步 Gradle 时,弹出了几个错误,并且运行应用程序的能力也不起作用。以下是错误:

android/build.gradle 内部的错误:

警告:“android”块应仅出现在与模块对应并具有“apply plugin: 'com.android.application'' 或 'apply plugin: 'com.android.library'' 语句的构建文件中.

这是错误将我引导至的android/build.gradle 的代码:

android 
    buildToolsVersion "22.0.1"
    compileSdkVersion 22
    sourceSets 
        main 
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        

        instrumentTest.setRoot('tests')
    

此外,在该文件的顶部,它会给出一条警告:

此文件夹不属于 Gradle 项目。确保它已在 settings.gradle 中注册。

这里是 settings.gradle 的代码:include 'android', 'core'

接下来,项目的build.gradle有两个错误,不是android的或者core的gradle文件。一个是这样的:

警告:(36, 4) 'dependencies' 块不属于这里。

错误,选择跳转到源时,导致此代码:

dependencies 
    compile project(":core")
    compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
    natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
    natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
    natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
    compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"
    natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi"
    natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a"
    natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86"

项目build.gradle 的另一个错误是:

警告:(53, 4) 依赖块不属于这里。

跳转到源代码时该代码导致该代码:

dependencies 
    compile "com.badlogicgames.gdx:gdx:$gdxVersion"
    compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"

最后,最后一个错误会导致项目的local.properties 文件,而不是android 或核心的文件:

错误:(1, 8) Windows 文件分隔符 () 必须转义 (\);使用 C:/Users/MY_COMPUTER_NAME/AppData/Local/Android/android-sdk

这是整个local.properties文件的代码:

# Location of the android SDK
sdk.dir=C:/Users/MY_COMPUTER_NAME/AppData/Local/Android/android-sdk

最后一个对我来说没有任何意义,因为推荐的文件路径和设置的文件路径是相同的。无论如何,我完全迷失了,不知道有什么办法可以帮助这个事业。提前感谢任何可以帮助我的人,请向我询问您可能需要的任何澄清。谢谢。

编辑

错误日志中还有一个错误是这样写的:

无法在项目“LibGDXTest2”中设置 Android 模块:不支持的方法:BaseArtifact.getJavaCompileTaskName()。 您连接的 Gradle 版本不支持该方法。 要解决此问题,您可以更改/升级您连接到的 Gradle 目标版本。 或者,您可以忽略此异常并从模型中读取其他信息。

据说是UnsupportedMethodException。顺便说一句,我使用的是 Android Studio 0.8.6 版和 LibGDX 1.6.4 版。

【问题讨论】:

我不明白这是什么意思:“从我在桌面的编程文件中的 android 文件中创建的文件中导入项目”。但是在使用 Libgdx Setup Utility 创建项目后,您需要在 Android Studio 中转到 Open Project(不是 Import Project!)并选择项目根目录中的 build.gradle 文件。 我的意思是,我的桌面上有一个编程文件夹。我在那里有一个应用程序开发文件夹,以及该文件夹中的项目。无论如何,我选择了 Open,但由于同样的原因,它仍然无法正常工作。 【参考方案1】:

希望我没有错,但我想说您的所有问题主要来自您使用的是过时版本的 Android Studio。 Upgrade 或使用 IntelliJ Idea,这基本上是一样的。还要确保您的 Android SDK 是最新的。

还有一件事:您是否尝试“打开”您已经尝试“导入”的项目?我希望它现在被打破。生成一个新的并打开它(在升级后的工作室中!)。

编辑:始终以管理员身份运行工作室。

【讨论】:

我刚刚注意到我的 Android Studio 已经过时了,所以我去了tools.android.com/download/studio/canary/latest 并下载了最新的 Android Studio (Canary 1.3)。下载后,向导问我是否想这样做:***.com/questions/24458923/… 我用这个问题作为参考,因为我想这样做但不知道如何做。无论如何,我使用了 Gabriele Mariotti 的答案,效果很好。然后,过了一段时间,向导说 SDK 没有正确下载。 打开 Android Studio 后,又出现了一个错误提示: Error:(16, 0) Gradle DSL method not found: 'runProguard()' 可能原因: 项目 'EventHandlingTest' 可能使用的 Gradle 版本不支持包含方法。 打开 Gradle 包装文件 构建文件可能缺少 Gradle 插件。 应用 Gradle 插件 是的,如果我没记错的话,ProGuard 现在已被弃用 - 只需删除项目 gradle 文件中所有提及它的内容,你应该会很好。还要确保在 libgdx 创建应用程序中使用的项目目标 SDK 与您的 Android Studio 使用的相同。 (新版本可能有自己的,不过我不太确定..) 我在任何地方都找不到ProGaurd,实际上,在标记为红色的文件夹的文件中(我猜是因为它们有一些错误),我也找不到它任何其他 gradle 文件。所以,我关闭了 Android Studio 并重新打开它。安装向导正在尝试再次下载 SDK 组件,并且出现与上次尝试下载组件时相同的错误。它是这样写的:The following SDK components were not installed: extra-android-m2repository and tools。我不确定如何安装这些组件。

以上是关于LibGDX 文件未在 Android Studio 上首次加载的主要内容,如果未能解决你的问题,请参考以下文章

LibGdx 如何从 libgdx 类返回到 androidActivity

无法使用 LibGDX Net 在 Android 上下载 100mb 文件

Libgdx 之SpriteBatch深入分析

使用 ProGuard 在 Android 中删除 LibGDX 日志

在 libgdx 中管理桌面和设备版本之间的资产

更新后本地文件是否存在? (LibGDX)