-
Notifications
You must be signed in to change notification settings - Fork 0
Gradle on the Commandline
This article will show you how you can run your application from the command line and package it for distribution for the different platforms!
The ANDROID_HOME environment variable needs to be pointing to a valid android SDK before you do any command line wizardry.
Windows: set ANDROID_HOME=C:/Path/To/Your/Android/Sdk
Linux, Mac OS X: export ANDROID_HOME=/Path/To/Your/Android/Sdk
Gradle let's you easily run a project from the commandline. Just use the gradlew command specify your target platform and the run command for that platform.
gradlew desktop:run
This compiles your core and desktop project, and runs the desktop starter. The working directory is the android project's assets folder!
gradlew android:installDebug android:run
This task will create a debug APK of your application, install it on the first connected emulator or device and start the main activity. The process is split into two tasks because the Android Gradle plugin lets you create multiple flavors of your app (e.g. debug as above, release, ...). You can find more information on the Android Gradle Plugin site.
gradlew ios:launchIPhoneSimulator
gradlew ios:launchIPadSimulator
gradlew ios:launchIOSDevice
The first two commands will launch your app on an iPhone or iPad simualtor, the last command will launch your ios project on a connected iDevice, provided it is provisioned. Please refer to Apple's docs on how to provision a device. Note that the first time you run your iOS project, the compilation will take a long time. Compilation time will decrease significantly on subsequent runs!
gradlew gwt:superDev
This will start your application in GWT Super Dev Mode, which compiles your Java code to Javascript, and allows you to debug your Java code directly in the browser. If you see the message Next, visit: http://localhost:9876
in your shell, open the browser and navigate to that address. Drag the "Dev Mode On" bookmarklet do your browser bookmarks bar. Next open http://localhost:8080/gwt. This is your application running in the browser! If you change any of your Java code in the core project, just click the bookmarklet, then click "Compile". The changes will take effect in a few seconds. If you modify your assets, you have to restart the server with the above command.
Every platform has a different kind of distribution format. In this section we'll see how we can generate those distributions via Gradle.
gradlew desktop:dist
This will create a runnable JAR file located in the desktop/build/libs/
folder. It contains all necessary code as well as all your art assets from the android/assets folder and can be run either by double clicking or on the command line via java -jar jar-file-name.jar
. Your audience must have a JVM installed for this to work. The JAR will work on Windows, Linux and Mac OS X!
gradlew android:assembleRelease
This will create an unsinged APK file in the android/build/apk
folder. You can install this APK file on any Android device that allows installation from unknown sources. For distribution on the Google Play Store you have to sign your APK. The APK build by the above command is already in release mode, you you only need to follow the steps for keytool and jarsigner.
gradlew ios:createIPA
This will create an IPA in the ios/build/robovm
folder that you distribute to the Apple App Store. You can follow Apple's guide on app store distribution
gradle gwt:dist
This will compile your your app to Javascript and place the resulting Javascript, HTML and asset files in the gwt/build/dist/
folder. The contents of this folder have to be served up by a web server, e.g. Apache or Nginx. Just treat the contents like you'd treat any other static HTML/Javascript site. There is no Java or Java Applets involved!
If you have Python installed, you can test your distribution by executing the following in the gwt/build/dist
folder:
python -m SimpleHTTPServer
You can then open a browser to http://localhost:8000 and see your project in action.
-
Developer's Guide
- Introduction
- Goals & Features
- Community & Support
- Contributing
- Games Built with Libgdx
- Prerequisites
- Gradle Project Setup, Running, Debugging and Packaging
- Project Setup, Running & Debugging
- Third Party Services
- Working from Source
- Using libgdx with other JVM languages
- The Application Framework
- A Simple Game
- File Handling
- Networking
- Preferences
- Input Handling
- Memory Management
- Audio
-
Graphics
- Configuration & Querying Graphics ??
- Fullscreen & VSync
- Continuous & Non-Continuous Rendering
- Clearing the Screen
- Take a Screenshot
- OpenGL ES Support * Configuration & Querying OpenGL ?? * Direct Access ?? * Utility Classes * Rendering Shapes * Textures & TextureRegions * Meshes * Shaders * Frame Buffer Objects
- 2D Graphics * SpriteBatch, TextureRegions, and Sprite * 2D Animation * Clipping, with the use of ScissorStack * Orthographic camera * Mapping Touch Coordinates ?? * Viewports * NinePatches * Bitmap Fonts * Distance field fonts * Using TextureAtlases * Pixmaps * Packing Atlases Offline * Packing Atlases at Runtime * 2D Particle Effects * Tile Maps * scene2d * scene2d.ui * Skin
- 3D Graphics * Quick Start * Models * Material and environment * 3D animations and skinning * Importing Blender models in LibGDX * Perspective Camera ?? * Picking ??
- Managing Your Assets
- Utilities
-
Math Utilities
- Interpolation
- Vectors, Matrices, Quaternions
- Circles, Planes, Rays, etc.
- Path interface & Splines
- Bounding Volumes ??
- Intersection & Overlap Testing ??
- Physics
- Tools
- Extensions
- Deploying your Application
- Building Libgdx ??
- Known Issues
- Articles
- Deprecated (May be outdated)