- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 gradle 作为构建工具来构建 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)
有人可以帮我弄清楚如何设置 gradle 来完成这项工作吗?
最佳答案
我一直在尝试解决同样的问题,并来到这里希望找到答案!无论如何,虽然没有答案,但您提到build-extras.gradle
让我走上正确的轨道,以下现在对我有用......所以谢谢。
首先,我想我不妨尝试使用与您相同的语法,以便尝试找出问题所在。据我所知,它失败了,因为 build-extras.gradle
文件不会神奇地合并到 build.gradle
,而是使用 Gradle apply from
加载和执行方法。由于这发生在 android
之前关闭这个过程还为时过早,那些android
值会覆盖我们的“额外”值。
(我没有时间深入研究 Gradle 或 Groovy,如果我的术语不准确,敬请见谅......)
但是,如果我使用 postBuildExtras()
,我可以让它工作。方法。
如果您查看 build.gradle
的底部由 Cordova 生成的文件,您会看到,如果 postBuildExtras
上存在这样的方法(即 ext
) ,然后它被调用。由于这是配置脚本中的最后一件事,所以我猜这个方法的重点是我们可以用它来覆盖任何东西。
因此,我最终将其作为我的 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
线索。 ;)
关于java - 使用 gradle 构建 Cordova 项目时覆盖 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386152/
我使用plugman命令在cordova中创建了一个插件 它创建了所有必需的文件。然后我在插件中添加了android平台。 然后我尝试将它添加到 cordova 应用程序中。我成功添加了它,但是当我尝
我使用plugman命令在cordova中创建了一个插件 它创建了所有必需的文件。然后我在插件中添加了android平台。 然后我尝试将它添加到 cordova 应用程序中。我成功添加了它,但是当我尝
我正在尝试在较旧的 Atrix 上安装一个应用程序,在 S3 上运行良好。搜索论坛可能的问题是SDK版本较高(Atrix是4.0.4)。修复显然是在设置 API 级别。 但是当我运行 cordova
使用 cordova build在一个为期一年的项目中提出: :processDebugResources my_project/platforms/android/build/intermediat
我有一个可以创建文件的可运行应用程序。 我正在寻找一种工作后数小时从cordova应用程序中删除文件的方法。我似乎无法使其正常工作。 这是用于创建和删除文件的代码: function crea
有什么区别吗Cordova 构建 Android 和 Cordova 准备 Android 命令? Reference is added here 最佳答案 准备将您的 www Assets 和任何插
我检查了文档,但没有找到关于此命令的明确说明。 那么,有谁知道cordova prepare命令的作用是什么? 是否更新特定于平台的www文件夹? 如果是,它将复制根www的全部内容吗? 它会更新平台
我们正在开发正在使用Cordova(专用于Ionic)的移动应用程序,并且正在使用PhoneGap PushPlugin和Amazon SNS进行推送通知。反过来,这会撞到我们与Amazon SNS进
我正在使用Vue,Webpack和Cordova。 Videos 如果我在没有Cordova的情况下加载页面,并且在Firefox浏览器中,则可以使用Youtube视频上的全屏图
因此,我尝试在我的(正在运行的)Ionic应用程序中安装一个新插件,该文件名为https://ionicframework.com/docs/native/firebase-dynamic-links
我像这样安装了cordova: C:\Windows\system32>npm install -g cordova 我明白了: C:\Users\cyril\AppData\Roaming\npm\
我有一个 cordova 应用程序,我使用以下代码捕获了后退按钮: document.addEventListener("backbutton", function (e) { bac
如何在 Cordova 中的蓝牙设备和 Android/iOS 之间发送和接收一系列数据字节? 我的项目的详细信息: 我正在开发一个蓝牙传感器设备。设备以一系列字节的形式发送数据。它还对设备 API
我是 cordova 开发的新手。我使用 Onsen UI (1.2.1) 作为布局框架。ons-toolbar 上的标题有问题。 someTextHere 如果我在 ripple 上运行
我有一个启用了平台浏览器的 Cordova 应用程序。我想在 Chrome 中使用摄像头,但调用摄像头根本没有任何反馈。它在我的 Android 设备上就像一个魅力。 我通过这个命令启动:cordov
我对thid docs https://firebase.google.com/docs/android/setup#available_libraries中提到的根级和应用程序级的路径目录感到困惑
喜欢这些插件 https://github.com/ArchieGoodwin/SilentShot https://github.com/alongubkin/phonertc 他们没有 tarba
我有一个 Angular 2 应用程序,我正在将其构建到 cordova 中并部署到 Android/IOS。我没有使用 ionic,我见过许多使用 ionic 的解决方案,但我现在无法将整个项目转换
当我发出命令时,在带有 Cordova 的 Ionic 3 中: ionic cordova run android --emulate 它给出以下消息: BUILD FAILED in 3s
我无法在 ionic 5.2.4v 中安装软件包 cordova-res 并收到以下错误。 命令:cordova-res C:\hanu\cordova-res-master\cordova-res
我是一名优秀的程序员,十分优秀!