当前位置 : 主页 > 手机开发 > cordova >

在使用渐变线构建Cordova项目时,覆盖Java版本

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正试图用毕业作为一个构建工具来建立一个Cordova项目.在Cordova项目中,我有我自己的需要 Java 1.7的插件. 在Cordova随附的build.gradle中,java版本为1.6. 的build.gradle: android { compileOptions { sou
我正试图用毕业作为一个构建工具来建立一个Cordova项目.在Cordova项目中,我有我自己的需要 Java 1.7的插件.

在Cordova随附的build.gradle中,java版本为1.6.
的build.gradle:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
}

build.gradle有一个很大的警告,说它是一个不应该编辑的生成文件,根据我的理解,自定义gradle构建步骤的方法是创建一个build-extras.gradle文件.

我已经创建了一个build-extras.gradle文件,并尝试了以下操作:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

但它似乎不起作用我建立项目时仍然收到错误.

错误:

> strings in switch are not supported in -source 1.6
>         switch (action) {
>                 ^   (use -source 7 or higher to enable strings in switch)

有人可以帮我弄清楚如何设置毕业生做这个工作?

我一直在努力解决同样的问题,来到这里希望找到答案!无论如何,虽然没有回答,你提到的build-extras.gradle让我在正确的轨道,以下现在适用于我…所以谢谢.

首先我想我可以尝试使用与您相同的语法,以便尝试找出错误.只要我能告诉它失败,因为build-extras.gradle文件没有神奇地合并到build.gradle中,而是使用Gradle从方法中加载和执行.而且由于这种情况发生在Android关闭之前,这个过程太早了,而且这些android值覆盖了我们的’extra’值.

(我没有时间深入我需要进入Gradle或Groovy,所以道歉,如果我的术语不精确…)

但是,如果我使用postBuildExtras()方法,我可以让它工作.

如果您看到由Cordova生成的build.gradle文件的底部,您会看到如果ext上存在这样的方法(即postBuildExtras),那么它将被调用.由于这是配置脚本中的最后一件事,所以我猜这个方法的一点是我们可以用它来覆盖任何东西.

因此,我最终以此作为我的build-extras.gradle:

ext.postBuildExtras = {
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }
}

我实际上在调查中工作得很早,但是一直在尝试其他方法,因为我怀疑当我们尝试使用多个build-extras.gradle文件时,这种技术将会失败 – 鉴于我们正在专门讨论Cordova插件,很有可能

有一种看起来很有前途的插件技术,它是使用< framework>在plugin.xml中的元素,但是使用这种方法我永远不能得到插件特定的模块加载/导入/任何.当我进入插件#2时,我会再看一下这个,但是现在上面描述的技术让我在今天早上的进一步发展了一大步,所以再次感谢build-extras.gradle线索.

网友评论