本文链接: http://blog.csdn.net/xietansheng/article/details/50186313
1. 前提
已安装好 Android 开发环境,包括如下:
- 已安装 JDK7 或更高版本;
- 已安装 Android SDK;
- 已安装 Eclipse + ADT 或者 Android Studio;
在这里建议 Eclipse, ADT 和 Android SDK 都使用官网发布的最新版本。
2. 创建 Android 项目,添加 LibGDX 相应的库
首先创建一个 Android 项目,然后添加相应 jar 包和 C/C++ 函数库即可。
LibGDX 的 Android 平台项目需要用到的基础 jar 包有两个,如下:
- gdx.jar
- gdx-backend-android.jar
然后还需要添加 Android 本地 C/C++ 动态库,LibGDX 开发包中的三个文件夹,如下:
- armeabi
- armeabi-v7a
- x86
(1) Eclipse + ADT
Eclipse 项目的 jar 包和 .so 动态库放置位置:
- jar 包添加到项目的 libs 文件夹中;
- 动态库(包括文件夹)也是添加到项目的 libs 文件夹中。
添加结果如下:
(2) Android Studio
当前演示的 Android Studio 的版本为 1.5 版本。
Android Studio 项目的 jar 包和 .so 动态库放置位置(Project视图下):
注意:
- jar 包添加到 HelloLibGDX / app / libs 文件夹下后,还需要将 jar 包作为依赖库添加到工程(鼠标选中 jar 包 -> 鼠标右键 -> Add As Library -> OK)。
- .so 动态库和 jar 包放置的地方不同,.so 动态库放置在 HelloLibGDX / app / src / main/ jniLibs 文件夹下。
- Android Studio 项目默认没有 assets 和 jniLibs 文件夹,需要自己手动在 HelloLibGDX / app / src / main 文件夹下创建两个文件夹,分别是 “ assets ” 和 “ jniLibs ” 文件夹。
3. 修改AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.libgdx.hellolibgdx"
android:versionCode="1" <!-- 应用的版本号 -->
android:versionName="1.0" > <!-- 应用的版本名称 -->
<uses-sdk
android:minSdkVersion="15" <!-- 最低支持的 Android 版本, 15 表示只对支持到 Android 4.0.3,目前 Android 开发支持到 4.0 即可 -->
android:targetSdkVersion="23" /> <!-- 目标 Android 版本, 一般是本地 Android SDK 中的最高版本 -->
<application
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <!-- 修改主题 theme 为无标题并全屏 -->
<!--
Android 应用启动的第一个 Activity
手动添加这两个配置
android:screenOrientation 屏幕方向配置,竖屏为 portrait,横屏为 landscape
android:configChanges 配置改变监听,需要添加四个值: keyboard|keyboardHidden|orientation|screenSize
-->
<activity
android:name=".AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
注意: Android Studio 创建的 Android 项目,其中 versionCode、versionName、minSdkVersion、targetSdkVersion 这几个属性定义在 HelloLibGDX / app / build.gradle 文件中。
4. 修改 Android 首个启动的 Activity(AndroidLauncher 类)
package com.libgdx.hellolibgdx;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import android.os.Bundle;
/**
* Android平台启动器, 继承 AndroidApplication(实际为一个 Activity)类
*/
public class AndroidLauncher extends AndroidApplication {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
// 启动游戏, MainGame 为 游戏主程序的启动入口类
initialize(new MainGame(), config);
}
}
附加 MainGame 类演示:
package com.libgdx.hellolibgdx;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
/**
* 游戏主程序的启动入口类, 实现 ApplicationListener 接口
*/
public class MainGame implements ApplicationListener {
@Override
public void create() {
}
@Override
public void dispose() {
}
@Override
public void pause() {
}
@Override
public void render() {
// 设置清屏颜色为红色
Gdx.gl.glClearColor(1, 0, 0, 0);
// 清屏
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
}
@Override
public void resize(int width, int height) {
}
@Override
public void resume() {
}
}
部署程序到模拟器或真机运行,运行结果:
注意:Android SDK 中自带的模拟器可能不支持 Open GL ES 2.0,可能会报错,建议使用真机部署或使用第三方模拟器 “Genymotion”(这个模拟器非常好用,强烈建意 Android 开发者使用)。