如何成功实施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


作者:雨水。转载请注明出处:http://blog.csdn.net/gobitan/article/details/24771311 
參考资料:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

如何成功实施SDL提供的官方Android平台Demo的更多相关文章

  1. 《React Native 精解与实战》书籍连载「Android 平台与 React Native 混合开发」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  2. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  3. android app性能优化大汇总(google官方Android性能优化典范 - 第2季)

    Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitmap的 ...

  4. 【转】Android平台下利用zxing实现二维码开发

    http://www.cnblogs.com/dolphin0520/p/3355728.html 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描 ...

  5. Android平台之不预览获取照相机预览数据帧及精确时间截

    在android平台上要获取预览数据帧是一件极其容易的事儿,但要获取每帧数据对应的时间截并不那么容易,网络上关于这方面的资料也比较少.之所以要获取时间截,是因为某些情况下需要加入精确时间轴才能解决问题 ...

  6. Android平台中实现对XML的三种解析方式

    本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...

  7. Android平台的Swift—Kotlin

    WeTest 导读 Kotlin 已经出来较长一段时间了,有些同学已经对Kotlin进行了深入的学习,甚至已经运用到了自己的项目当中,但是还有较多同学可能只是听过Kotlin或简单了解过,这篇文章的目 ...

  8. Android 平台 Native 代码的崩溃捕获机制及实现

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/g-WzYF3wWAljok1XjPoo7w 一.背景 ...

  9. Android平台下利用zxing实现二维码开发

    Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...

随机推荐

  1. 期望dp专题

    一直不明白为什么概率是正推,期望是逆推. 现在题目做多了,慢慢好像有点明白了 poj2096 收集bug,  有n个种类的bug,和s个子系统.  每找到一个bug需要一天. 要我我们求找到n个种类的 ...

  2. 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 使用企业库异常处理应用程序模块的 ...

  3. IOS开发-通知与消息机制

    在多数移动应用中不论什么时候都仅仅能有一个应用程序处于活跃状态.假设其它应用此刻发生了一些用户感兴趣的那么通过通知机制就能够告诉用户此时发生的事情. iOS中通知机制又叫消息机制,其包含两类:一类是本 ...

  4. REDGATE又一好用的脚本工具ScriptsManager1.3

    原文:REDGATE又一好用的脚本工具ScriptsManager1.3 REDGATE又一好用的脚本工具ScriptsManager1.3 先说明一下:这个工具是免费的 下载地址:http://ww ...

  5. 为什么android你用的越多,速度较慢的手机

    依据第三方的调研数据显示,有 77% 的 Android 手机用户承认自己曾遭遇过手机变慢的影响,百度搜索"Android+ 卡慢",也有超过 460 万条结果. 在业内.Andr ...

  6. Timus 1777. Anindilyakwa 奇怪的问题计数

    The language of Australian aborigines anindilyakwa has no numerals. No anindilyakwa can say: "I ...

  7. Qt5该插件机制(2)--QxxxFactory类和QFactoryLoader类别

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  8. uva 1401 dp+Trie

    http://uva.onlinejudge.org/index.php? option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. redmine 出口中国的乱码

    pdf 这是redmine的bug.必须在个人账户更改将设立中国语文,足够的人才来解决. 顺便说一下,提示.以下更改文件的方法是无效的 /home/redmine/redmine-2.5.1/lib/ ...

  10. [LeetCode238]Product of Array Except Self

    题目: Given an array of n integers where n > 1, nums, return an array output such that output[i] is ...