maven和libGDX

21 7月

这一篇是关于maven和libgdx的。本来我准备用gradle(现已有gradle模板了),不过暂时有点小问题,而同时libgdx官方提供了maven支持,为了快速上手还是选用maven了。

为什么要用maven

其实原因很简单…我讨厌每次新建项目结构。

从最开始接触libgdx手动建立Java项目和对应的Android项目到后面的使用setup-ui工具。

手动建立不说了…这个建立步骤甚至挡住了一些人使用libgdx的步伐。

setup-ui的确很棒,但是每次重复工作还是很麻烦,特别是需要一个完整的zip包…我本地一般不保存,所以每次都要下载。

对我而言,在用libgdx开发游戏的时候用maven有三个优点:

  • 不需要去下载相关的包,不管是libgdx本身的,还是你自己使用的第三方包。

  • 省去了建立初始项目结构的麻烦,一个mvn archetype:generate就搞定了。

  • 各种环境不需要配置了,特别是GWT那个。

虽然很多人觉得maven老了,但是我觉得能用就行了。

不说多了,直接开始动手吧。这个系列都是以我最近在做的一个东西为例子,名字叫单词泡泡,大概是一个陪单词的(不要在意细节)。

安装libgdx-maven-archetype

刚才说到libgdx官方有支持,地址是:https://github.com/libgdx/libgdx-maven-archetype

先把它clone下来,命令

git clone git://github.com/libgdx/libgdx-maven-archetype.git

进入目录,运行

mvn install

运行效果:

安装好了就可以删除clone下来的文件了,我这里安装的是0.99版本。

然后进入你的工作目录,

mvn archetype:generate -DarchetypeGroupId=com.badlogic.gdx -DarchetypeArtifactId=gdx-archetype -DarchetypeVersion=0.9.9-SNAPSHOT

然后输入一些信息,比如groupId,artifactId啥的,最后建立完成,目录结构如下:

一些小修改

建立工作就完成了…但是很遗憾,要让它正常工作还需要修改一下小配置。

主要的问题集中在android项目上,桌面问题不大。

尝试运行命令:

mvn integration-test –Pdesktop

效果如下:

6

Html项目使用

mvn integration-test -Phtml

这个会下载很多东西,然后本身的执行速度也比较慢,耐心多等等。

完成后访问http://localhost:8080/可以看到结果。

Android这块主要是SDK配置的问题。

我使用的SDK 2.3.3,对应的编号是10。而libgdx-maven-archetype默认的是11和17。

先打开android目录下的default.properties文件,改成target=android-10。

然后打开pom文件,找到有关android-maven-plugin的配置。修改SDK版本为10。

然后在sdk节点中添加一个path值,指向sdk安装位置。

运行

mvn install –Pandroid

如果这时候报错,提示什么0 devices的话可以连接一个调试用的真机或者开个虚拟机,也可以在配置文件中做设置,如果你对android-maven-plugin熟悉的话。

我一般开个虚拟机。

如果有需要还可以指定签名文件进行签名。

导入eclipse

因为本身就是maven项目了,给eclipse安装上m2e和m2e-android就行了。

导入已经存在的maven项目导入你需要的项目(反正我是不用ios那块的)。

导入的结构和setup-ui差不多,一个core项目,然后是各个平台的。

如果有小红叉的可以右键maven—Update Project一下。

然后可以在eclipse添加常用maven命令。

其他问题

1.如果在eclipse中运行相关maven命令遇到Fatal error compiling: tools.jar not found的问题,直接在Preferences -> Java -> Installed JREs – > Execution Environment中添加一个jdk。

2.默认带的那张图片是200*250的,如果运行报错,自行换一张符合要求的图片。

发表评论

电子邮件地址不会被公开。