android-在允许条件下如何使用OpenSL ES

问题描述

在允许条件下如何使用OpenSL ES

在条件允许范围内,我想使用 OpenSL` ES。例如 Android version >= 2.3

现在是在Android.mk

LOCAL_LDLIBS    += -lOpenSLES

如果Android version < 2.3,就不能正常运行。
在Android version >= 2.3的条件下,怎么样动态的加载 Open SL库?使用System.loadLibrary?

解决方案

做两套so,一套使用sl,一套不使用,在静态声明的时候根据Build.VERSION.SDK_INT来判断是否2.3以上,然后load不同的so。

static {
   if (Build.VERSION.SDK_INT >= 10) {
       System.loadLibrary("libjni_a");
   } else {
       System.loadLibrary("libjni_b");
   }
}
时间: 2024-10-31 09:43:09

android-在允许条件下如何使用OpenSL ES的相关文章

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.5节Android应用程序运行的机制

1.5 Android应用程序运行的机制 Android 3D游戏开发技术宝典--OpenGL ES 2.0 上一节介绍了如何搭建Android开发环境.如何开发Hello Android应用程序以及Android应用程序的调试,接下来在本节中将简要地介绍Android应用程序的运行机制. 1.5.1 应用程序的系统架构 Android平台由应用程序.应用程序框架.Android运行时.系统库以及底层Linux内核构成,详细结构如图1-54所示. 说明 应用程序层里面包含的就是需要读者去发挥创意

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.4节Hello Android应用程序的开发

1.4 Hello Android应用程序的开发 Android 3D游戏开发技术宝典--OpenGL ES 2.0 本节首先将介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,之后将简单介绍Android应用程序的调试,为读者以后学习高级开发铺平道路. 1.4.1 第一个Android应用程序 本小节将向读者介绍如何在Eclipse中创建一个基于Android的Hello World应用程序,基本步骤如下所列. (1)首先打开Eclipse,然后依次选择Fi

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.1节游戏中的音效

2.1 游戏中的音效 Android 3D游戏开发技术宝典--OpenGL ES 2.0 一款好游戏,除了具备优质的画面和较高的可玩性之外,还应该有出色的音效.音效一般指的是游戏中发生特定行为或进行特定操作时播放的效果音乐或为了渲染整体气氛播放的背景音,如远处隆隆的炮声.怪物死亡的惨叫声.由远而近的脚步声等. 通过开发人员精心准备的声音特效,结合游戏的场景,可以渲染出一种紧张刺激的氛围,使玩家产生身临其境的感觉.这就像电影中的声音特效一样,假如没有了合适的音效,那么游戏和电影一样,真实感会大打折

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.7节蓝牙通信

2.7 蓝牙通信 Android 3D游戏开发技术宝典--OpenGL ES 2.0 随着硬件设备价格的不断降低,大部分智能手机上都已配备了蓝牙网络模块,Android设备也是如此.如果能为一些小型的休闲娱乐游戏增加蓝牙联网对战的功能,将会大大增加游戏的可玩性.本节将向读者详细介绍如何在Android平台下开发具有蓝牙互联功能的应用程序. 2.7.1 蓝牙通信的基本知识 蓝牙是一种支持设备短距离通信(一般是10m以内)的无线技术,其数据传输时不仅不需要连线,而且传输速率也比传统手持设备的红外模式

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——1.2节Android平台的特点及未来的趋势

1.2 Android平台的特点及未来的趋势 Android 3D游戏开发技术宝典--OpenGL ES 2.0 Android平台基于Linux,其不仅继承了Linux的各种优良特性,同时由于"Android之父"Andy Rubin的先进理念,使得Android平台又增加了许多非常具有吸引力的新特性.这不仅给终端用户带来了非凡的体验,还大大减轻了Android应用开发者的工作量与难度. 1.2.1 全新理念带来的体验风暴 Android是具有开源性质的手机终端解决方案,开发人员可以

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.5节2D动画的开发

2.5 2D动画的开发 Android 3D游戏开发技术宝典--OpenGL ES 2.0 虽然本书是着重介绍3D的开发技术,但在大部分的3D应用中也需要有不少的2D界面,如菜单.帮助等.本节将介绍一般用于开发游戏中2D界面的SurfaceView类的使用.其继承自View类,但与View的不同之处在于,View更新画面必须是在UI线程中(也可以理解为主线程中),而SurfaceView更新画面可以在自定义线程中进行,大大方便了开发. 提示 关于Android下的多线程问题,读者可以参考笔者在人

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.2节简单数据的存储——Preferences

2.2 简单数据的存储--PreferencesAndroid 3D游戏开发技术宝典--OpenGL ES 2.0进行游戏开发时,有时需要持久地存储一些十分简单的数据,例如,游戏中音效的开关状态.振动效果的开关状态等.Android设计者也充分注意到了这种存储简单数据的需求,提供了一个Preferences类专门用于完成此类任务. 2.2.1 Preferences简介Preferences使用非常方便,但功能也不是很强大,一般适合用来保存一些用户设置的参数,是一种轻量级的数据存储机制.Pref

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.8节本章小结

2.8 本章小结Android 3D游戏开发技术宝典--OpenGL ES 2.0本章主要对Android平台下游戏开发中可能会用到的Android平台的相关基础知识进行了详细介绍,如文件的I/O操作.SQLite数据库的增.删.改.查,游戏中声音特效.蓝牙互联等.只有学好这些基础知识,开发人员才能开发出更好的Android手机游戏.读者一定要在这些基础上面下足了工夫,今后的开发道路才会一帆风顺. 提示 Android平台的其他相关知识还有很多,由于本书侧重于介绍OpenGL ES 2.0 3D

《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.3节手机自带数据库——SQLite

2.3 手机自带数据库--SQLiteAndroid 3D游戏开发技术宝典--OpenGL ES 2.0上一节介绍了如何使用Preferences存储简单数据,而复杂的数据就需要存储到文件或数据库中了. Android自带了一款轻量级的关系数据库--SQLite,其具有体积小,功能强大等诸多特点,成为嵌入式设备首选的数据库系统.本节将带领读者走进SQLite的世界,去学习如何应用SQLite数据库进行数据的增.删.改.查等基本操作. 2.3.1 初识SQLiteSQLite是一款满足ACID特性