转载 LibGDX: 使用 Gradle 命令运行和打包项目
版权声明:本文为csdn
博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接: http://blog.csdn.net/xietansheng/article/details/50188219
使用 Eclipse 等 IDE 工具也可以很方便的实现项目的运行和打包,但步骤比较繁琐,这里只简单介绍一下使用 Gradle 命令来运行和打包项目。
1. 使用 gdx-setup.jar 工具创建 Gradle 项目
项目的创建步骤参考: LibGDX_1.5: 使用 Gradle 创建 LibGDX 所有平台的关联项目
2. 运行项目
Gradle 可以让你很容易地通过命令行运行项目。你只需要使用 gradlew 命令指定目标平台和该平台相应命令。
使用 gdx-setup.jar 工具创建的 Gradle 项目,在项目根目录下有一个 gradlew.bat / gradlew 批处理文件,该文件/命令用于使用 Gradle 对项目进行运行、打包、清理等操作。
要使用命令行运行项目,首先打开命令行终端,进入到 Gradle 项目的根目录下(gradlew.bat 文件所在目录)。
首次运行可能需要下载依赖,需要较长时间,要耐心等待。
(1) Desktop 项目运行
gradlew desktop:run
执行这个命令,Gradle 将会编译 core 和 desktop 这两个子项目,并且运行 desktop 项目。
(2) Android 项目运行
gradlew android:installDebug android:run
执行这个命令,将生成应用的一个 debug apk 包,在最先连接 adb 的模拟器或真机设备上安装,安装完成后自动启动应用。
(3) iOS 项目运行
iOS 的运行必须要在 MAC 系统上,并安装 XCode 工具。
gradlew ios:launchIPhoneSimulator
gradlew ios:launchIPadSimulator
gradlew ios:launchIOSDevice
第一个和第二个命令运行在 iPhone 和 iPad 模拟器上,第三个命令运行在真机上。
(4) HTML 项目运行
gradlew html:superDev
执行这个命令,将 Java 代码编译成 JavaScript,并在 GWT 开发模式下启动应用。然后通过浏览器访问http://localhost:9876
。
3. 项目打包发布
(1) Desktop 项目打包
gradlew desktop:dist
执行这个命令,将在项目的 desktop/build/libs/
文件夹下创建一个可运行的 jar 包。这个 jar 包中包含了所有需要的代码和资源,可以脱离整个项目,只要有 JDK 或 JRE 环境即可运行。运行这个 JAR 文件的命令: java -jar jar-file-name.jar
。
(2) Android 项目打包
gradlew android:assembleRelease
执行这个命令,将在项目的 android/build/outputs/apk/
文件夹下生成一个未签名的 APK 文件,要想安装或发布这个 APK 安装包,需要对 APK 安装包进行签名。
(3) iOS 项目打包
gradlew ios:createIPA
iOS项目打包后的 IPA 文件在项目的 ios/build/robovm
文件夹下。
(4) HTML 项目打包
gradlew html:dist
执行这个命令,将会把整个应用编译为一个静态的 WEB 应用,将在项目的 html/build/dist/
文件夹下生产 JavaScript、HTML、asset 文件,这些文件组成的静态 WEB 应用可以脱离 Java 环境,部署在任何支持 HTML 和 JavaScript 的 WEB 服务器上,并通过任何支持 WebGL 的浏览器上访问并运行。
注意: 执行打包命令后,在 html/build/dist/
目录下会生成一个 “WEB-INF” 文件夹,这个文件夹占用了较大的空间,对于一般的 WEB 服务器没有用,可以删掉。
想要在本地试运行这个 Web 应用,需要在本地安装有 Web 服务器。这里建议安装 Python,Python 提供了一个简单的 HTTP 服务器。
Python 下载地址: https://www.python.org/downloads/
下载对应平台版本的 Python 安装包(建议下载 2.x 版本),安装后,将安装目录(python.exe 文件所在目录)添加到环境变量中。
打开命令行终端,进入到项目的 html/build/dist/
目录,运行下面命令启动一个简易的 HTTP 服务器:
// Python 2.x
python -m SimpleHTTPServer
// Python 3.x
python -m http.server 8000
启动之后,打开浏览器,访问 http://localhost:8000
建议: Desktop 和 HTML 平台的项目打包,执行一个 gradlew 打包命令后即完成了打包的所有步奏,结果直接可用,对于这两个平台的项目建议使用 Gradle 命令来打包。
更详细的介绍和操作,请参考官方 Wiki: https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline
转载 LibGDX: 使用 Gradle 命令运行和打包项目的更多相关文章
- Vue项目根据不同运行环境打包项目
前提 项目是直接通过 vue-cli脚手架 生成的: 假设在项目开发中,分为三个环境 -- · 测试环境· 预生产环境· 生产环境 每个环境的接口地址都是不同的,而 vue-cli 给出的环境只有 d ...
- Gradle命令行黑魔法
毫无疑问,现在Gradle已经成为java世界最火的构建工具,风头已经盖过了冗余的ant,落后的maven.Gradle是以Groovy语言编写的一套构建脚本的DSL,由于Groovy语法的优雅,所以 ...
- 用leiningen来运行和打包clojure项目
今天是2017年5月24日.隔壁team用clojure写了个工具,我们要拿来用,于是弄了个leiningen来尝试.还没有最后成功,先记录一下一些连蒙带猜的步骤,以免忘记. 一.单独运行的cloju ...
- Gradle命令详解与导入第三方包--快速打包
快速打包app:gradlew assembleRelease --console plain (好使) 下边的方法暂时不好使,可以用的兄弟请教下哈! Android Studio + Gradle的 ...
- Android使用Gradle命令动态传参完成打包,不需要修改代码
不得不说,Gradle很强大,有人会问Gradle是什么?这里也不细讲,在我认为他就是一个构建神器.Gradle 提供了: 一个像 Ant 一样的非常灵活的通用构建工具 一种可切换的, 像 Maven ...
- 【转载】Gradle学习 第十一章:使用Gradle命令行
转载地址:http://ask.android-studio.org/?/article/94 This chapter introduces the basics of the Gradle com ...
- Gradle构建SpringBoot并打包可运行的jar配置
使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...
- webpack正式、测试环境接口地址本地运行及打包命令配置
声明:本文由w3h5原创,转载请注明出处:<webpack正式.测试环境接口地址本地运行及打包命令配置> https://www.w3h5.com/post/521.html 为了方便开发 ...
- android studio从1.5更新到2.0后terminal无法运行gradle命令,提示无法找到gradle命令
android studio从1.5更新到2.0后terminal无法运行gradle命令,提示无法找到gradle命令. 'gradle' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 设 ...
随机推荐
- LINUX对超级用户和普通用户的理解
什么是超级用户 在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限.超级用户具有在系统约定的最高权限满园内操作,所以说超级用户可以完成系统管理 ...
- leetcode 57 Insert Interval & leetcode 1046 Last Stone Weight & leetcode 1047 Remove All Adjacent Duplicates in String & leetcode 56 Merge Interval
lc57 Insert Interval 仔细分析题目,发现我们只需要处理那些与插入interval重叠的interval即可,换句话说,那些end早于插入start以及start晚于插入end的in ...
- stream求集合元素的属性值最值
Person p1 = new Person("张三", new BigDecimal("10.0"));Person p2 = new Person(&quo ...
- Django项目:CRM(客户关系管理系统)--43--35PerfectCRM实现CRM重写Admin密码修改
#admin.py # ————————01PerfectCRM基本配置ADMIN———————— from django.contrib import admin # Register your m ...
- Google自带截图工具的使用
转载自:http://chromecj.com/utilities/2017-12/859.html
- sass进阶
代码的重用 基础的部分我们讲述了变量 Mixin 这两种方法可以增加扩展和重用 现在开始继续学习:extend继承 .class1 { border: 1px solid #ddd; } .class ...
- CesiumLab V1.4 分类3dtiles生成(倾斜单体化、楼层房间交互)我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了。不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化。就下面这个示例https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/index.html?src=
我记得我是写过一篇关于倾斜单体化的简书文章的,但是现在找不到了.不过找不到也好,就让他随风逝去吧,因为当时我写那篇文章的时候,就发现了cesium实际是有另一种更高效的单体化.就下面这个示例 http ...
- 前后端分离后API交互如何保证数据安全性
前后端分离后API交互如何保证数据安全性? 一.前言 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合.无论是开发原生的APP还是webapp还是PC ...
- 洛谷P3459 [POI2007]MEG-Megalopolis [2017年6月计划 树上问题02]
[POI2007]MEG-Megalopolis 题目描述 Byteotia has been eventually touched by globalisation, and so has Byte ...
- Leetcode645.Set Mismatch错误的集合
集合 S 包含从1到 n 的整数.不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复. 给定一个数组 nums 代表了集合 S ...