Android 开发:开源库Speex支持arm64的动态库文件

随着处理器制造工艺的不断进步,和Android系统的不断发展,最近出了arm64-v8a的架构,由于项目中用到了speex的第三方语音编解码的动态库,其他架构的处理器暂不用说,一切正常,唯独到arm64-v8a这里出问题了,在Android5.0 arm64位的手机上使用语音会报错,关于其他架构的.so文件编译不再赘述,网上都有资料。废话少说,直接上步骤:

1.下载android-ndk-r10e-windows-x86_64并解压,这个支持arm64 -v8a的编译,之前的版本都不行,我之前用了android-ndk32-r10-windows-x86_64,结果后来编译的时候报错Android NDK: NDK Application ‘local‘ targets unknown ABI(s): arm64-v8a 所以要使用最新的。

2.可以直接在Eclipse配置NDK的编译环境,而不必使用Cygwin,项目右键-->Properties-->Builder-->New-->选择Program,Main选项卡里面设置NDK的Location,Browse File System选择ndk-build.cmd的路径,Working Directory选择项目下jni文件夹路径,这里选Browse WorkSpace,如图:

切换到Refresh选项卡,选择如下

切换到Build Options选项卡,选择如下

最后别忘记点OK,回到Properties,把当前新建的NDK_Builder Up到最上面

这样,就配置了NDK的编译环境。

3.jni下的Application.mk文件需要修改成APP_ABI := armeabi armeabi-v7a arm64-v8a ……添加了arm64-v8a

4.Project选择Clean或者Build Project都可以自动把jni下的源文件编译成.so文件。

以上步骤顺利执行过后查看libs目录,下面的arm64-v8a文件夹下生成了libspeex.so文件。

转载自:http://blog.csdn.net/xingliuyang/article/details/46710345

时间: 2024-10-12 11:42:06

Android 开发:开源库Speex支持arm64的动态库文件的相关文章

Android底层笔记:APP通过JNI调用动态库.so

开发环境: 平板电脑:FSPAD-733,原理上来说任何支持安卓的开发板都可以: eclipse:使用的是iTOP-4412开发板提供的eclipse安卓开发包: Ubuntu:使用的是FSPAD-733虚拟机开发环境,原理上来说任何开发包提供的虚拟机环境都是可以的. 加载库名,然后系统自动到库目录下找.so动态库 目录/库文件名 loadLibrary ? ? ? du -mh tags androidL/art/ vi -t Runtim_nativeLoad ? ? ? javah -jn

android开发开源宝贝——持续更新。。。

2016年11月11日更新 http://www.apkbus.com/forum-417-1.html http://p.codekk.com/detail/Android/hejunlin2013/LivePlayback www.codekk.com https://github.com/Trinea/android-open-project Android 开源项目分类汇总 我们的微信公众号:codekk.二维码如下: 专注于 Android 开源分享.源码解析.框架设计.Android

Android开发进阶(五)--使用原始的XML文件

应用场景 在Android应用开发过程中,有时候我们自己有一些XML文件是我们自己手动创建的,而在项目开发过程中可能会用到,也就是说这用到了原始的XML资源文件.这个XML原始资源文件我们可以通过Resouce类的以下两个方法来获得: getResouce.getXml(int id); getRawResouce(int id) 这两个方法返回的对象是一个XmlResouceParser类的对象.而XmlResouceParser类是XmlPullParser类的子类,所以我们可以Androi

Android开发心得-使用File ExPlorer无法访问系统内部文件

问题:本机在获得ROOT权限后,使用Eclipse自带的File Explorer访问/data/data下各APP的存储文件,均无法打开.更换另外一个设备后,情况正常.Sumsung的有些机型在获得ROOT权限系统后,仍然不能读写系统文件,这个时候就需要我们使用adb为文件夹赋予权限了 解决办法:在配置好adb后,cmd进入命令行,按序号依次输入如下命令 1. adb shell 2. su      (在PC输完此命令后,正常情况下Android设备会提示是否为ADB授权,选择授权即可) 3

Android 开发中eclipse 下 DDMS 视图中 sdcard 中文件导入的处理

首先需要说明下,这里说的sdcard的权限并不是指在Android application程序中设置sdcard的权限读 取问题.而是指在DDMS看到的目录下的那个sdcard目录的权限问题.       有时候,当你想在sdcard目录下面导入某个文件时,突然发现sdcard目录没有权限,它的权限状态为( d-------即000).这时候我们需要做的事:1.如果你没有配置好adb运行环境,在环境配置的path下面将 android-sdk-windows\platform-tools路劲添加

Android Studio导入第三方jar包及.so动态库

天地图移动API下载中心:http://api.tianditu.com/api-new/mobile/download.html 新建android项目,将下载的资源解压,可以看到帮助文档,类参考包,示例,API开发包 将API开发包解压,并将jar包复制到工程中的libs中 解压后的文件 然后在main里面新建文件夹jniLibs,并将armeabi文件夹复制到里面 在Manifist中添加权限 <uses-permission android:name="android.permis

android开发 NDK 编译和使用静态库、动态库

在eclipse工程目录下建立一个jni的文件夹. 在jni文件夹中建立Android.mk和Application.mk文件. Android.mk文件: Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.详见附件中的Android.mk. Application.mk文件: 定义了项目的一些细节,比如APP_ABI := x86(编译X86平台库).APP_PLATFORM := android-9(

android开发 NDK 编译和使用静态库、动态库 (转)

在eclipse工程目录下建立一个jni的文件夹 在jni文件夹中建立Android.mk和Application.mk文件 Android.mk文件: Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.详见附件中的Android.mk. Application.mk文件: 定义了项目的一些细节,比如APP_ABI := x86(编译X86平台库).APP_PLATFORM := android-9(使用

android开发常识(转)

转载于:http://blog.sina.cn/dpool/blog/s/blog_6c234ba90100wj1t.html 如何成为高手?成为一名真正的Android高手必须掌握和遵循的一些准则:1)学会懒惰 aDon't Reinvent the Wheel(不要重复发明轮子). bInventing the Wheel(发明轮子). cDon't Reinvent the Wheel(不要重复发明轮子). “轮子理论”,也即“不要重复发明轮子”,这是西方国家的一句谚语,原话是:Don't