android sdl编译
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台。
1 下载SDL源码
http://www.libsdl.org/download-2.0.php,最新版是2.0.10,此处下载了2.0.9。将源码解压,查看源码目录如下。
android-project是一个模板工程,拷贝此模板工程到另一个文件目录下,拷贝的目的是防止对sdl源码工程进行改动。我的新工程目录在SDL2_Sel_Compile\android-project。
2 复制拷贝相关文件
在拷贝过来的新工程的jni目录中,新建sdl文件夹,拷贝sdl源码根目录中的,如上图的红线圈内的include和src文件目录,以及Android.mk拷贝到新工程的sdl文件夹下。
3 添加源文件
下载main.c,从http://www.dinomage.com/wp-content/uploads/2013/01/main.c下载。在新工程的jni/src目录下,添加此main.c文件。
然后修改jni/src目录下的Android.mk文件。
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := mainSDL_PATH := ../sdlLOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include# Add your application source files here...LOCAL_SRC_FILES := main.cLOCAL_SHARED_LIBRARIES := SDL2LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -lloginclude $(BUILD_SHARED_LIBRARY)
主要修改SDL_PATH和LOCAL_SRC_FILES这2个地方。
4 修改jni目录下的Application.mk
修改APP_ABI,根据实际需求编译生成对应的arm架构的so库。
5 进行编译
先确保环境变量中有配置ndk,定位到jni目录下,执行ndk-build命令。
构建完成生成3个so库,libSDL2.so,以及其编译依赖的libhidapi.so,以及libmain.so。
android sdl编译相关推荐
- android 编译 sdl,使用android ndk编译SDL2示例错误r14
我已经测试过在我的ubuntu 16.04机器上构建SDL2源代码(2.0.5)中的示例.使用android ndk编译SDL2示例错误r14 根据https://wiki.libsdl.org/An ...
- Android ijkplayer 编译踩坑与记录(ijk0.8.8--ffmpeg4.0)
本文记录了 ijkplayer 的编译完整流程,以及编译过程中遇到的坑及解决方案,如果不想自己编译,可以使用我编译好的结果.已放入 github: ijkplayer_Build4Android 编译 ...
- Android 反编译Apk提取XML文件
Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...
- Android系统编译时集成三方APK
1. 前言 最近在学习Android系统开发,在开发过程中可能要到将三方apk集成到系统中的需求.目前我了解的方法有两种. 一种是在系统编译完毕之后,再将三方apk文件放置到系统目录之下.参考如何将a ...
- Android Studio 编译: Program type already present: XXX 解决方案
Android Studio 编译: Program type already present: XXX 解决方案 参考文章: (1)Android Studio 编译: Program type a ...
- Android Studio编译问题-Error:Could not find org.jetbrains.trove4j
Android Studio编译问题-Error:Could not find org.jetbrains.trove4j 一般来说是AS加载各种包或者库时失败导致的,有可能是网络原因. 因此我们更换 ...
- 【错误记录】Android Studio 编译报错 ( Deprecated Gradle features were used in this build, making it incompat )
文章目录 一.报错信息 二.解决方案 一.报错信息 使用 Android Studio 编译比较老的 Android 项目时 , 报如下错误 : FAILURE: Build failed with ...
- 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. ② | 升级 Gradle 版本 )
文章目录 一.报错信息 二.解决方案 解决 Could not determine java version from '11.0.8'. 问题 , 有两种方案 , 方案一 : Android Stu ...
- 【错误记录】Android Studio 编译报错 ( SDK location not found )
文章目录 一.报错信息 二.解决方案 一.报错信息 Android Studio 编译报错 : 首次打开别人的项目 , 经常性的报错 ; Could not determine the depende ...
最新文章
- 各种 Optimizer 梯度下降优化算法回顾和总结
- 连华为都在研究的计算机视觉,到底有多牛?
- 在Python这条路上踩过的坑(1)
- AF_UNIX和AF_INET
- img元素srcset属性浅析
- 阿里云市场联合犀思云开启云V认证 首推“严选”模式企业采购更安心
- matlab设置等高线标注字体大小,matlab设置图中字体和线条大小等(转)
- Ubunut 下安装teamview
- sourceinsight界面中的英文解释
- PS实用方法(抠出完整的头发丝)
- java用户登录注册
- matlab时间延迟怎么写,大家帮我看一下这个c_c方法时间延迟的程序运行结果??...
- 系统架构中常见问题及解决方案
- CANoe隐藏属性——Multi CANoe
- Opensea空投详细专业教程
- 机器学习常见求逆矩阵的方法
- OpenCL与OpenACC的安装
- 2021年从事Linux运维云计算前景如何?
- activiti 流程实例与业务关联
- signature=6f778f12ee5c543045f5827af4fb220b,来用百度密语吧!!!