android - 如何使用 Java 8 在 Android 和桌面(IntelliJ 2018 CE/Gradle)上使用 libGDX 进行开发

标签 android gradle intellij-idea java-8 libgdx

慢慢学习gradle。 (对我而言)排除 IDE 错误并从命令行运行我的项目是必不可少的。这让我发现我的路径是指 JRE 而不是 JDK;我收到一条错误消息,指出 tools.jar 不在路径上,就是这样。

但是,当我执行 gradlew desktop:debug 时,我仍然无法超过大约 80%。

因此这个问题与我最近升级到 2018 版本的 IntelliJ 有关。 2017 版运行良好,有一个很大的免责声明,我不是,实际上当时使用的是 Java8 lambda。到了 2018 年,我觉得创建一个新的 libGDX(我知道针对多个平台的最佳方式)项目来转储我的所有文件比调试我得到的所有(通常无用的)堆栈跟踪更容易。

开箱即用我对 gradle 进行了最少的进一步修改以使桌面版本正常工作。我真的不想重复这一点,因为我选择了一个新名称,这意味着需要进行大量编辑和修改。在 Android 上部署时,我遇到了困难。

要使 Android 构建工作,需要对 Gradle 版本和 gradle 文件进行哪些修改?对于奖励积分,为什么显然涉及 4 个不同版本的 gradle?

最佳答案

我花了很多时间让 libgdx 在 java8 中编译。我做到了。对我和我的 friend 有用。如果您想尝试它并且它立即失败,请给 Intellij 几次重启和缓存失效。可能需要从 %userdir% 中删除 .gradle(不一定),但最终它工作稳定。

这是我的配置:

Intellij IDEA 18+ 或 Android studio 3.0+

wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-bin.zip

项目build.gradle:

repositories {
    google() //add google repo
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1' //higher versions were not compiling right
}

Andoird build.gradle:

android{
    buildToolsVersion "27.0.3"
    compileSdkVersion 27

    defaultConfig {
        minSdkVersion 16 //16 is good enough for 2018
        targetSdkVersion 27
        //Forget about Jack if you were using it. 
    }

    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}
eclipse { 

    jdt {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
}

对于桌面 build.gradle

sourceCompatibility = 1.8

关于android - 如何使用 Java 8 在 Android 和桌面(IntelliJ 2018 CE/Gradle)上使用 libGDX 进行开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50162434/

相关文章:

Android Gradle : What is javaMaxHeapSize "4g"?

android - 使用 API 获取 Android 设备的 IP 地址

java - 将 Play Framework 模块导入现有的 IntelliJ 项目

android - Firebase 验证码检查失败并阻止用户进行身份验证

android - 如何使用 Processing 在 Android 中显示带有 .mtl 的 .obj 文件

android - 在android中打开和显示日历事件

heroku - gradle buildscripts和Heroku

java - 本地存在 Maven 依赖项时出现 NoClassDefFoundError

java - 测试未按JUnit5中的指定顺序运行

android - 如何检查菜单项是否已经添加到onprepareoptionsmenu