编译android版libmpg
环境:ubutnu 12.04,android SDK
1. 下载libmpg的一个android工程,得到一个Android-libmpg-master.zip。https://github.com/Nobleworks/Android-libmpg
2. 下载libmpg123源码,得到一个mpg123-1.15.4.tar.bz2。http://www.mpg123.org/
3. 将两个文件放到安卓工程目录下,目前是 /home/gong/android/workspace/。分别解压到此处。
现在的目录结构是workspace/下多两个文件夹 mpg123-1.15.4 和 Android-libmpg-master
4. 把目录/home/gong/android/workspace/mpg123-1.15.4/src/libmpg123/里面的所有文件拷贝到
/home/gong/android/workspace/Android-libmpg-master/Android-libmpg/jni/libmpg123/
5. Android-libmpg-master/Android-libmpg/src/nobleworks/libmpg文件夹下有三个 .java文件。
Feature.java MP3Decoder.java Encoding.java
在src目录下使用javac命令,生成对应的class文件;使用javah命令,生成对应的.h文件。
(注:javac 和 javah 命令必须在包外面操作)
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/MP3Decoder.java
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.MP3Decoder
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/Feature.java
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.Feature
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javac nobleworks/libmpg/Encoding.java
gong@gong-virtual-machine:~/android/workspace/Android-libmpg-master/Android-libmpg/src$ javah nobleworks.libmpg.Encoding
执行完后,会在src目录下生成7个.h文件。
nobleworks_libmpg_Encoding_Format.h
nobleworks_libmpg_Encoding.h
nobleworks_libmpg_Encoding_Ordinals.h
nobleworks_libmpg_Feature.h
nobleworks_libmpg_MP3Decoder_Error.h
nobleworks_libmpg_MP3Decoder_Flags.h
nobleworks_libmpg_MP3Decoder.h
6. 修改jni/MP3Decoder.cpp,将前面几行的include 路径修改为刚刚生成的.h文件。
#include "../src/nobleworks_libmpg_MP3Decoder.h"
#include "../src/nobleworks_libmpg_MP3Decoder_Error.h"
#include "../src/nobleworks_libmpg_Feature.h"
#include "../src/nobleworks_libmpg_Encoding_Ordinals.h"
7. 在jni目录下 执行 ndk-build。就会生成libs/armeabi-v7a/libmpg.so和libs/armeabi/libmpg.so
编译android版libmpg的更多相关文章
- 用travis-ci编译android版nodejs
第一步: fork 第二步: 添加.travis.yml 在repository根目录添加.travis.yml文件,在其中添加以下内容. language: c before_install: - ...
- 转:Android开发实践:用脚本编译Android工程
转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Andr ...
- [转]编译Android源代码常见错误解决办法
1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...
- JDK版本更换后编译android系统出错
一:javac: 目标发行版 1.5 与默认的源发行版 1.7 冲突 1.设置jdk环境变量 编译android源码只支持jdk 1.6,所以如果需要编译源码必须下载jdk 1.6,不能下载最新的jd ...
- 【转】在Ubuntu下编译Android源码并运行Emulator
原文网址:http://www.mcuos.com/thread-4553-1-1.html 建立编译环境 1.在VirtualBox上安装Ubuntu 2.安装JDK $ sudo apt-ge ...
- 【转】Ubuntu10.04上编译Android源码(Build Android source in Ubuntu10.04 Platform)
原文网址:http://blog.csdn.net/chenyafei617/article/details/6570928 一.Introduction 今天我们就来谈谈如何在Ubuntu平台上面编 ...
- Android版xx助手之天天酷跑外挂具体分析
Android版xx助手之天天酷跑外挂具体分析 图/文 莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯.当腾讯的微信平台接入手机游戏之后,移动端的游戏也開 ...
- 微信5.0 Android版飞机大战破解无敌模式手记
微信5.0 Android版飞机大战破解无敌模式手记 转载: http://www.blogjava.net/zh-weir/archive/2013/08/14/402821.html 微信5.0 ...
- 开发腾讯移动游戏平台SDK Android版Ane扩展 总结
本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式 问题一:编译报错:Unable to resolve target 'android ...
随机推荐
- E8.Net工作流平台之中国特色
特色之一领导排名有先后 领导排名是有潜规则的,不论是在企业通讯录中,还是企业员工目录中,不管在流程执行过程中,还是存档数据中,当前领导的排名一定要按潜规则展示,不能随便罗列.E8.Net工作流解决了 ...
- JVM里面hashtable和hashmap实现原理
JVM里面hashtable和hashmap实现原理 文章分类:Java编程 转载 在hashtable和hashmap是java里面常见的容器类, 是Java.uitl包下面的类, 那么Hash ...
- CLLocationManager 位置定位
第一步,新建一个singleView的空白工程,如果新建,这里不做赘述了. 第二步:因为地图开发相关的framework:MapKit.framework.CoreLocation.framework ...
- objective-c常用数学方法
1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double as ...
- Portal:十大免费建站程序推荐
TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...
- [BZOJ 4103] [Thu Summer Camp 2015] 异或运算 【可持久化Trie】
题目链接:BZOJ - 4103 题目分析 THUSC滚粗之后一直没有写这道题,从来没写过可持久化Trie,发现其实和可持久化线段树都是一样的.嗯,有些东西就是明白得太晚. 首先Orz ZYF-ZYF ...
- HDU 2045 不容易系列之(3)—— LELE的RPG难题(递推)
点我看题目 题意 : 中文题不解释. 思路 :先算了第3个第4个,算的时候发现只要在已经枚举出来的前边的状态中往后添加字母就行了,如果两个的都已经表示出来了,那第三个就可以在每个第二个后边加一个,在 ...
- Ubuntu 14.04远程登录服务器--ssh的安装和配置
ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全,现在介绍一下如何在Ubuntu 14.04上安装和配置ssh 1.更新源列表 打开"终端窗口",输入& ...
- cocos-html5 JS 写法基础 语言核心
转载:http://blog.csdn.net/leasystu/article/details/18735797 cocos2dx 3.0 js继承:John Resiq的继承写法解析 CCClas ...
- Java 数组倒序
String s[] = {,,,,,,}; ; i < s.length; i ++){ System.-i] +","); }