您的位置:首页 > 移动开发 > Android开发

如何成功实施SDL提供的官方Android平台Demo

2015-07-27 18:05 495 查看
如何成功实施SDL提供的官方Android平台Demo

作者:雨水 日期:2014-4-30

编写说明:SDL的官方提供了一个Anroid的demo模板SDLActivity,无法直接执行,依照官方的文档操作过程中也会遇到非常多问题,这里把我成功编译并执行的过程记录下来,希望对大家有所帮助!

SDL简单介绍:SDL是Simple DirectMedia Layer的缩写。它是一套开源的C语言跨平台多媒体开发库,提供了多种控制图像。声音等接口。广泛用于游戏,媒体播放器。模拟器开发等。

基本环境:
1. 操作系统:Windows7 64位;
2. Android SDK开发环境: adt-bundle-windows-x86_64-20130729.zip
3. Android NDK开发包:android-ndk-r9d-windows-x86_64.zip

操作步骤:
第一步:准备SDL源码包;
1. 去http://www.libsdl.org/官网下载最新版SDL2-2.0.3.tar.gz;
2. 解压后,能够在根文件夹下找到android-project文件夹和README-android.txt,前者是一个一个Androidproject模板,后者是关于怎样使用该project的文档说明。
3. 调整文件夹。使其成为一个可编译的project:
(1) 将android-project文件夹剪切到与SDL2-2.0.3同级的文件夹;
(2) 然后将SDL2-2.0.3文件夹复制到android-project\jni文件夹下,并重命名为SDL;

第二步:为SDL添加main函数
(1) mainhttp://wiki.libsdl.org/Tutorials#Android.c文件能够从http://www.dinomage.com/wp-content/uploads/2013/01/main.c下载;
(2) 下载之后将其放入android-project\jni\src文件夹;
(3) 将main.c增加android-project\jni\src\Android.mk: 在Android.mk中默认有个YourSourceHere.c,将其替换为main.c就可以;

第三步:编译libSDL2.so和libmain.so
注:请确认NDK的bin文件夹已经配置到环境变量PATH中去;
打开cmd命令窗体。进入到android-project文件夹,然后运行"ndk-build"命令进行编译。编译成功后会在android-project根文件夹下生成libs文件夹,以下有各个平台的须要的这两个so文件。

第四步:改动build target配置文件
默认的工程是使用的=android-12,必须使这个target与你系统配置的一致。否则编译会失败. 详细的配置位于android-project/project.properties和android-project/default.properties中。因为adt-bundle-windows-x86_64-20130729.zip包相应的是android-18。因此须要将这两个文件里的配置所有改为android-18.

第五步:导入Eclipse执行

依次选择File->New->Android->Android Project from Existing Code,然后选择android-project文件夹将工程文件导入到Eclipse中。
然后选择依照正常的Androidproject执行就可以。这个时候程序闪一下什么都没有。由于没有加入资源。可下载一个bmp图片放到android-project/assets中,这个文件夹是由eclipse自己主动生成的。

然后执行就能够看到通过SDL渲染出来的图片了。

这 里提供一个官方文档中提到的bmp地址:http://www.dinomage.com/wp-content/uploads/2013/01/image.bmp 。整个project的源码能够到我的github上去下载,地址:https://github.com/dennishucd/SDLActivity

作者:雨水。转载请注明出处:/article/2959467.html
參考资料:
1. http://wiki.libsdl.org/Tutorials#Android
2. http://www.dinomage.com/2013/01/howto-sdl-on-android/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: