linux下交叉编译android版本的libSDL2.so

编译android下的SDL库,就像是做一道菜。需要你先准备好食材、刀具、砧板.......偷笑

哦,怎么炒?不懂得,先看官方教程

Building SDL2 for Android


转入正题,开始准备食材了:

linux——debian 9(debian-9.0.0-i386-DVD-1.iso)

SDL源码——SDL2-2.0.5.zip

android NDK——android-ndk-r8c-linux-x86.tar.bz2

android SDK——android-sdk_r24.4.1-linux.tgz


本人的环境,是win7系统,用VMware虚拟机,安装debian 9;好,食材准备好,开始炒菜了哈!

1. 根据官网步骤,先切入root用户:

#su
安装必备的环境

#apt-get install openjdk-8-jdk ant android-sdk-platform-tools-common

ps. ant主要是用来打包成apk的,我在实际操作中,总数报错,于是就放弃打包了,反正我只需要动态库,然后在windows的studio开发环境使用。


2.  解压好SDL、NDK、SDK;首先进入SDK目录

#cd android-sdk-linux/tools
#./android

主要是安装API,本次安装了API 26



3. 配置NDK、SDK的环境变量,官网是这样的:

PATH="/usr/src/android-ndk-r8c:$PATH"                   # for 'ndk-build'
PATH="/usr/src/android-sdk-linux/tools:$PATH"           # for 'android'
PATH="/usr/src/android-sdk-linux/platform-tools:$PATH"  # for 'adb'

我的环境配置是这样的:

PATH="/home/deb/work/android-ndk-r8c:$PATH"                   # for 'ndk-build'
PATH="/home/deb/work/android-sdk_r24.4.1-linux/android-sdk-linux/tools:$PATH"           # for 'android'
PATH="/home/deb/work/android-sdk_r24.4.1-linux/android-sdk-linux/platform-tools:$PATH"  # for 'adb'

你的呢?


4. Edit build-scripts/androidbuild.sh, find the $ANDROID update project line, and add --target android-XX to it (replace XX with your installed API number above).

编辑build-scripts/androidbuild.sh,找到$ANDROID update project 这一行,增加--target android-26


5.现在可以开始编译了!

#cd /home/deb/work/SDL2-2.0.5/build-scripts
#./androidbuild.sh org.libsdl.testgles ../test/testgles.c

6.编译完成以后,动态库就生成了,菜就炒熟了!









SDL2.2.0.1的移植,包含SDL的每个参数的意思,包含交叉编译器的安装,包含移植过程中出错的处理方法。 --prefix=/usr/arm 安装SDL路径 --enable-shared=yes 构建共享库[开启] --enable-nasm 装配blitters x86上的nasm(汇编器) --enable-oss 启用支持oss声音的API --enable-alsa 启用支持ALSA声音的API --enable-alsa-shared 启用动态加载ALSA声卡的API --enable-pulseaudio 启用pulseaudio(脉冲音频) --enable-pulse-shared 启用动态加载脉冲音频支持 --enable-arts 启用支持Analog Read Time Synthesizer(模拟实时合成器) --enable-arts-shared 启用动态加载ARTS声卡的支持 --enable-joystick 启用joystick(控制杆)系统 --enable-cdrom 启用只读光盘系统[关闭] --enable-threads 启用多线程子系统 --enable-timers 启用计时器子系统 --enable-endian 大小端设置 --enable-file 启用文件系统 --enable-esd 支持Enlightened(文明)声音后台程序 --enable-nas 支持NAS(网络连接存储)声卡API --enable-diskaudio 支持磁盘写入声卡驱动 --enable-dummyaudio 支持虚拟声卡驱动 --enable-altivec 使用altivec装配位块传送器在PPC上 --enable-video-x11 使用x11视频驱动 --enable-dga 允许使用x1 DGA代码 --enable-video-x11-vm 使用x11 vm延长全屏 --enable-video-x11-dgamouse 使用x11 DGA鼠标事件 --enable-video-x11-xv 使用x11 xv音像延长视频 --enable-video-x11-xinerama 启动x11多银幕支持 --enable-video-dga 使用DGA2.0视频驱动 --enable-video-directfb 启用DirectFB视频驱动 --enable-video-photon 使用QNX(嵌入式实时系统)光子视频驱动 --enable-video-ps2gs 使用PS(游戏机)2 GS视频驱动 --enable-video-opengl 包括OpenGL(开放图形语言)创建上下文 --enable-video-pth 使用GNU pth库对多线程 --enable-pthreads 使用POSIX线程(可移植操作系统)对多线程 --enable-pthread-sem 使用多线程信号 --enable-input-events 使用Linux-2.4统一输入接口 --enable-input-tslib 使用Touchscreen库输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值